タグ付けされた質問 「magento2」

Magento 2に関する一般的な質問。マイナーバージョンに固有ではありません。このタグを使用してMagento 1と区別します。特定のバージョンに問題がある場合は、代わりに適切な「Magento-2.x」タグを使用してください。Magento 2のマイナーバージョン間の機能は異なる場合があります。

4
ファイルシステムのベストプラクティス
ファイルシステムからファイルを読み取る必要があるMagento 2拡張機能に取り組んでいます。 ECGM2標準を使用してphpスニファを実行すると、basenameまたはのような関数を使用しているという事実について文句を言いdirnameます。 関数dirname()の使用は禁止されています または 関数basename()の使用は禁止されています 同じ効果を得るには、これらの代わりにどのラッパーを使用する必要がありますか? [編集] ここにいくつかのコードがありますが、質問にはそれほど関係ありません。 クラスを拡張するコレクションクラスがあり\Magento\Framework\Data\Collection\Filesystem、グリッド(ui-components)にこのコレクションを一覧表示したいのですが、グリッド内のアクションの1つはダウンロードアクションです。 このため、ファイルの実際の名前を取得して、ダウンロードアクションに送信できるようにする必要があります。 // here $file is dynamic and it can be // folder/filename.xml or folder/subfolder/file.tar.gz //so there is no strict number of folders and subfolders. $file = $downloader->getRelativePath($packageName); $relativeFile = UmcFilesystem::VAR_DIR_NAME . '/' .$file; $absoluteFile = $rootDir->getAbsolutePath($relativeFile); if ($rootDir->isFile($relativeFile) && $rootDir->isReadable($relativeFile)){ …

3
CLIのMAGE_DIRSブートストラップパラメータ
ではpub/index.php、次のコードを使用して、メディアおよび静的アセットの変更URLを設定し、「/ pub」を省略します。 $params[Bootstrap::INIT_PARAM_FILESYSTEM_DIR_PATHS] = [ DirectoryList::PUB => [DirectoryList::URL_PATH => ''], DirectoryList::MEDIA => [DirectoryList::URL_PATH => 'media'], DirectoryList::STATIC_VIEW => [DirectoryList::URL_PATH => 'static'], DirectoryList::UPLOAD => [DirectoryList::URL_PATH => 'media/upload'], ]; $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params); 残念ながらCLIスクリプト(bin/magento)にはこのようなものはありません。 Magento\Setup\Mvc\Bootstrap\InitParamListener次のコードでクラスを見つけました: $initParams = $application->getServiceManager()->get(self::BOOTSTRAP_PARAM); $directoryList = $this->createDirectoryList($initParams); しかし、私はこのZend Service Managerがどこでデータを取得し、どのようにしてデータに影響を与えることができるのか理解できません。 私の具体的な問題は、インデクサーが完全なURLを生成するhttp://magento.local/pub/media/...必要があり、現在はのようにする必要があるということです。http://magento.local/media/... 仮想ホストがポイントしpub、「pub」がURLの一部であってはならないことをCLIにどのように伝えることができますか? 理想的には、これは追加のCLIパラメーターや環境変数に依存する必要なく機能するはずです。

1
Magento 2:チェックアウトのストリートフィールドにプレースホルダーテキストを追加する方法
バックエンドでは、住所を3行に設定しました。 各フィールドに異なるプレースホルダーを配置したいと思います。 通り 建物/アパート 範囲 このようにして、ユーザーはより構造化された方法でデータを入力できます。 同様の質問はここにあります: Magento 2-レイアウトxml / ui引数を使用してチェックアウトフォームの住所に影響を与える方法 ただし、回答は、住所フィールドにプレースホルダーを含めるためのソリューションを提供しません。 私が達成したいのは、各住所フィールドに異なるプレースホルダーを設定することです。 私のコード: app / code / Jsp / Placeholder / etc / module.xml: <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Jsp_Placeholder" setup_version="2.0.0" /> </config> app / code / Jsp / Placeholder / registration.php: <?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Jsp_Placeholder', __DIR__ ); …

1
Magento 2 CMSページのgetList()リポジトリメソッドが期待されるオブジェクトを返さない
すべてのCMSページを削除する必要があります。 これがコードです: 名前空間Soon \ Core \ Setup; Magento \ Cms \ Api \ PageRepositoryInterfaceを使用します。 Magento \ Framework \ Api \ SearchCriteriaInterfaceを使用します。 クラスCms { / ** * @var SearchCriteriaInterface * / プライベート$ searchCriteria; / ** * @var PageRepositoryInterface * / プライベート$ cmsPageRepository; / ** * Cmsコンストラクタ。 * @param SearchCriteriaInterface $ searchCriteria …
10 magento2 

3
市外局番が設定されていません
私はこのエリアコードが設定されていないエラーを回避しようとしていて、ここで他のコードを参照していますが、追跡に問題があります。 2.0.7を2.1.0にアップグレードしようとしていて、実行するポイントに到達したとき: php bin / magento setup:upgrade -vvv 私はこれをエラーとして受け取ります。 [Magento \ Framework \ Exception \ SessionException]エリアコードが設定されていません:セッションを開始する前にエリアコードを設定する必要があります。 例外トレース:()/opt/bitnami/apps/magento/htdocs/vendor/magento/framework/Session/SessionManager.php:176 Magento \ Framework \ Session \ SessionManager-> start()at / opt / bitnami / apps / magento / htdocs / var / generation / Magento / Framework / Session / Generic / Interceptor.php:50 Magento …

1
Magento 2 EE 2.1でのメッセージキュー構成の変更
私はEEメッセージキュー機能を見てきましたが、それは不完全なようです。 2.1より前のバージョンではetc/queue.xml、公式ドキュメントに記載されているように、パブリッシャー、トピック、コンシューマー、キューを定義するための合理的な機能の実装がありました。http://devdocs.magento.com/guides/v2.0/config-guide /mq/config-mq.html。 構成で定義されたトピックと一致しない限りバインディングを作成できないなどの制限があり、可能なすべてのトピックの可能性を事前に定義する必要があったため、柔軟性が制限されていました。繰り返し実行されるインストールスクリプトがないため、インストーラースクリプトを再度実行するには、少しハッキングする必要がありました。 2.1以降、パブリッシャー、トピック、コンシューマー、バインドの各要素はetc/queue.xml非推奨になり、設定はとの間etc/queue.xmlで分割されetc/communication.xmlます。ここに示されています:https : //github.com/magento/magento2-samples/blob/master/sample- module-sample-message-queue / etc /。非推奨のパブリッシャー/トピック/コンシューマー/バインドスキーマは引き続き単独で使用できますが、改訂されたブローカー/キュースキーマと併用することはできません。 ただし、これは公式ドキュメントには記載されておらず、構成が分割されており、場合によっては複製が必要な理由がすぐには明らかにされていません。さらに重要なこととして、現在バインディングを定義する機能がなく、代わりにトピック名がルーティングキーとして使用されているようです。これにより、キューのバインドに特殊文字を使用することもできなくなります。したがって、リファクタリングされたようですが、機能が失われています。 肯定的な点として、magento/module-amqpモジュールは繰り返しインストーラースクリプトを使用するようになり、を実行すると、キュー構成の変更がインストールされますmagento setup:upgrade。magento/module-mysql-mqただし、この変更はまだモジュールに適用されていません。 だから私は知りたいです:a)私はこれをすべて間違っていて、実際にバインディングを作成する方法があり、見た目よりも柔軟ですか?b)構成が分割されているのはなぜですか? 付記として、これを実験してきたので、私はhttps://www.rabbitmq.com/tutorials/tutorial-four-php.htmlにあるRabbitMQチュートリアルのトポロジーの例の1つを使用しています: この非推奨の構成は、大部分のトポロジを実現しました。 queue.xml: <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/queue.xsd"> <topic name="quick.orange.rabbit" schema="Example\MessageQueue\Api\MessageInterface" publisher="default" /> <topic name="quick.orange.fox" schema="Example\MessageQueue\Api\MessageInterface" publisher="default" /> <topic name="lazy.pink.rabbit" schema="Example\MessageQueue\Api\MessageInterface" publisher="default" /> <topic name="lazy.orange.elephant" schema="Example\MessageQueue\Api\MessageInterface" publisher="default" /> <topic name="lazy.brown.fox" schema="Example\MessageQueue\Api\MessageInterface" publisher="default" /> <consumer name="consumerOne" …

1
モジュールは削除されましたが、Magento2のデータベースにテーブルが残っています
magento2のインストーラースクリプトを使用して、1つのモジュール/拡張機能を作成しました。 その後それを削除しましたが、データベース内のテーブルはまだ残っています。 モジュール/拡張機能を完全にアンインストールし、データベースから拡張機能/モジュールのテーブルを削除する方法を誰かに教えてもらえますか?

5
Magento 2の製品ウィジェットの「カートに追加」ボタンでAJAXを有効にする方法は?
Magento 2では、通常のAdd to CartボタンにAJAXベースの非常に優れたロジックがあり、カートに商品を追加できます。 ただし、Catalog Products ListたとえばCMSページでウィジェットを使用する場合、この製品リストのボタンはHTTP POST、現在のページをリロードするで機能します。 これはユーザーエクスペリエンスに悪影響を及ぼし、ボタンがデフォルトのカテゴリ製品リストや製品ページと同じAJAXロジックを持つことが望ましいです。 Catalog Products Listウィジェットを拡張して、より良い Add to Cartボタンを使用するにはどうすればよいですか?それとも別の回避策がありますか?

1
Magento 2.1rc3でテーマを変更する方法
私は両方を試し、gitリポジトリからバージョンMagento v2.1rc3をMagento2開発しました。 問題は、Magento 2テーマを変更しようとしたときに、以下の手順を実行したことです。 Open BO -> Stores -> Configurations -> General -> Design また、テーマを選択した「デザインテーマ」セクションが表示されdropdownなくなりました。 これをさらに詳しく調べてみたところ、この構成のノードがから削除されてsystem.xml(Magento\Backend module)いることがわかりました。私はMagento2のgitリポジトリの歴史の中で、このノードを削除するとコミット発見し、それはメッセージを持っている「古いコードを削除します。」 したがって、これconfigurationがMagentoのバックオフィスの別の場所に移動されたことを願っています。しかし、どのsystem.xmlファイルにも見つかりません。たぶん、なぜそれが行われたのか、そしてどのようにしてMagento 2テーマを変更できるのかを誰かが知っているのでしょうか?

2
ヘッダーミニカートでの製品SKUの取得
SKUMagento 2サイトのミニカートに商品を表示したい。しかしKnockoutJS、追加の製品情報を取得するために使用する方法がわかりません。呼び出されているテンプレートはここにあります: vendor / magento / module-checkout / view / frontend / web / template / minicart / item / default.html そして、次のようなコードが含まれています: <strong class="product-item-name"> <!-- ko if: product_has_url --> <a data-bind="attr: {href: product_url}, text: product_name"></a> <!-- /ko --> <!-- ko ifnot: product_has_url --> <!-- ko text: product_name --><!-- /ko --> …

2
Magento 2:モジュールのcomposer.jsonで「セマンティックバージョニング」の依存関係を指定する方法
Magento 2の開発と導入にはバージョン管理の正式なプロセスが含まれます。コアMagentoモジュールのメジャーバージョンとマイナーバージョンは、下位互換性のある機能の変更に基づいて変更されます。 Magentoモジュールの開発者は、自分のcomposer.jsonファイルに要件のリストをどのように作成すればよいですか?コアMagentoコードを使用require:...してcomposer.jsonに行を追加するたびに、モジュールを手動で確認する必要がありますか?それとも私のためにそれを行うことができる自動化ツールはありますか? 含めるバージョンを指定するにはどうすればよいcomposer.jsonですか?それは私が開発した特定のモジュールバージョンである必要がありますか?それとも、何らかのワイルドカードが必要ですか?または、トレードオフに基づいて決定する必要がありますか?もしそうなら、バージョン指定の各スタイルに関連するトレードオフは何ですか? この機能の概要はあちこちにありますが、実際の開発者が実際にどのような手順を踏む必要があるか、および/またはそれらの手順の実際の結果は不明です。

2
Magento 2:独自のカスタムキャッシュタイプを作成する方法
Magento 1では、で以下を宣言することにより、独自のキャッシュタイプを作成することができましたconfig.xml。 <global> <cache> <types> <custom translate="label,description" module="module"> <label>Custom Cache</label> <description>This is my custom cacge</description> <tags>CUSTOM_CACHE_TAG</tags> </custom > </types> </cache> </global> その結果、システム>キャッシュ管理の下のバックエンドに新しいキャッシュタイプが追加され、CUSTOM_CACHE_TAGキャッシュタグに関連するキャッシュをフラッシュする機能が追加されます。 M2でそれは可能ですか?それを達成する方法は?

3
ソースモデルの単体テスト
私のカスタム拡張機能には、エンティティの追加/編集フォームの一部の選択または複数選択、あるいはその両方の目的を満たすだけのモデルがいくつかあります。 したがって、これらはmagentoが「ソースモデル」と呼ぶものです。 関連する値は常に同じであり、メソッドは同じものを返します。 それらを単体テストするにはどうすればよいですか?または、さらに良いことに、それらの単体テストを作成する必要がありますか? 例を示します。 次のクラスは、呼び出されたフィールドの追加/編集フォーム、typeおよび同じフィールドのグリッド列に使用されます。 <?php namespace Sample\News\Model\Author\Source; use Magento\Framework\Option\ArrayInterface; class Type implements ArrayInterface { const COLLABORATOR = 1; const EMPLOYEE = 2; /** * Get options * * @return array */ public function toOptionArray() { $_options = [ [ 'value' => '', 'label' => '' ], [ 'value' …

2
Magento 2の顧客アカウントナビゲーションにカスタムのアクティブリンクを追加する
お客様のアカウントナビゲーションにカスタムリンクを追加しようとしています。カスタムリンクがアカウントナビゲーションに表示され、機能していますが、クリック時にアクティブ/現在として表示されません。 以下は私が持っているコードです: /app/code/Namespace/Support/view/frontend/layout/customer_account.xml <?xml version="1.0"?> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="customer_account_navigation"> <block class="Magento\Framework\View\Element\Html\Link\Current" name="customer-account-navigation-suppport-ticket-link" after="-"> <arguments> <argument name="path" xsi:type="string">support/customer/index</argument> <argument name="label" xsi:type="string">Support Ticket</argument> </arguments> </block> </referenceBlock> </body> </page> /app/code/Namespace/Support/Controller/Customer/Index.php <?php namespace Namespace\Support\Controller\Customer; use Magento\Framework\App\Action; use Magento\Framework\Exception\NotFoundException; use Magento\Framework\Controller\ResultFactory; class Index extends \Namespace\Support\Controller\Index { /** * Show customer tickets * * …

2
製品のYoutubeビデオのインポート属性
「画像またはビデオギャラリー」のYouTubeビデオと一緒に商品をインポートしたい。君たちは正しい属性を知っていますか? 私はすべての写真に対して行い、うまくいきましたが、ビデオについてはわかりません。
10 magento2 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.