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

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

2
Magento 2テンプレート:「$ block」または「$ this」を使用しますか?
Magento 2では、$this変数はテンプレートのブロックオブジェクトを参照しなくなりました。テンプレートクラスを参照します Magento\Framework\View\TemplateEngine\Php ただし、このテンプレートクラスにはpassthrough __callメソッドがあります #File: vendor/magento/framework/View/TemplateEngine/Php.php public function __call($method, $args) { return call_user_func_array([$this->_currentBlock, $method], $args); } これにより、メソッド呼び出しが実際のブロックに到達するようになります。また、phtmlテンプレートから保護されたメソッドを呼び出せない理由も説明します。 ただし、これに加えて、すべての(と思う?)テンプレートには、$blockpopulated という名前の変数があり、これは親ブロックオブジェクトも参照します。これはMagentoのリストテンプレートで使用中です。 #File: vendor/magento/module-catalog/view/frontend/templates/product/list.phtml //... $_productCollection = $block->getLoadedProductCollection(); どこ$block変数が使用されますが、明示的に定義されることはありません。 上記の違い以外に、あるテクニックを他のテクニックと使用することの間に違いはありますか?すなわち、両方を実行し、同じオブジェクト$blockを$this->currentBlock参照しますか?

3
Magento 2モジュールの統合テストの作成
これまでのところ、Magento 2のテストニーズに合わせて、PHPユニットを(多少なりとも)受け入れテスターとして使用してきました。サーバーの結果をテストし、モジュールがインストールされたシステムにHTMLリクエストを送信しました。独自の統合テストを作成できるようにします。Magento 2に同梱されているテストツールを使用すると、サードパーティの開発者は、Magentoのテストフレームワークコードを活用する独自の統合テストを作成できますか?それとも、私たち全員が独自のブートストラップを展開しますか? あれは 私はMagentoの開発者です 統合テストを作成したい 統合テストでは、Magento環境を完全にブートストラップして再生します(使用するオブジェクトマネージャーや依存関係の注入など)。 統合テストでテストを拡張しMagento\TestFramework\TestCase\AbstractControllerて、Magentoテストと同じヘルパーを使用したい テストを他のテストスイートから分離して実行できるようにしたい(つまり、15秒のテストを実行するのに2時間待つ必要がない) Magentoのテストとは別にテストを保存したい dev docsサイトにはテストに関するいくつかのスターター記事がありますが、Magentoに同梱されているテストを実行することを目的としており、独自のテストを作成して実行することはしていません。古いサンプルモジュールがありますが、それらはすべてPHPUnit_Framework_TestCaseクラスを拡張し、単体テスト(つまり、Magentoフレームワークに依存しないコードのテスト)のようです。 これを行うMagento提供の方法はありますか? そうでない場合、Magento開発者コミュニティのテストがそれを標準として採用できるように、誰かが独自のセットアップを展開しましたか?

1
Magento 2.1:エンティティマネージャーの使用
2.1からMagentoが導入されましたMagento/Framework/Model/EntityManager 私はここで間違っているかもしれませんが、私の理解から、Magento/Framework/Model/AbstractModel継承を介して機能を実装していたものを置き換え、構成を介してこれを解決することです(FYI:https : //en.m.wikipedia.org/wiki/Composition_over_inheritance) コアファイルでサンプルを入手できます:https : //github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php 基本的に、すべてのCRUD操作はクラスで明示的に宣言され、クラスに委ねられEntityManagerます。2.1以前では、親メソッドは継承を介して呼び出されていました。 だから私の質問は: EntityManager2.1以前の継承システムに比べて、どのような利点がありますか? されるだけで十分(上記の例のように)CRUDメソッドを宣言すると、カスタムのCRUDモジュールでそれを実装を開始以上ありますか?

2
Magento 2:プラグインとオブザーバー
Magento 2では、何かを達成するためにプラグインとオブザーバーを使用することの長所と短所は何ですか? オブザーバーはイベントにサブスクライブするのに対し、プラグインはMagentoクラスでパブリックメソッドが呼び出される前および/または後にジャンプできることを理解していますが、確かにそれらはパスを交差するところに近づいていますか?

16
「MIMEタイプ( 'text / html')はサポートされているスタイルシートMIMEタイプではないため」スタイルの適用を拒否
Magento 2管理パネルにCSSが突然読み込まれません。フロントエンドは正常に動作しています。 エラーの詳細: 「https://www.ornativa.com/pub/static/version1502029409/adminhtml/Magento/backend/en_US/css/styles-old ...」からスタイルを適用することを拒否しました。MIMEタイプ(「text / html」 )はサポートされているスタイルシートMIMEタイプではなく、厳密なMIMEチェックが有効になっています。」 「キャッチされていないSyntaxError:JSONの位置0のJSON.parse()コールバック((index):68)でObject.execCb(require.js:1650)でModule.check(require.js:866)でModule。(require.js:1113)require.js:132 at require.js:1156 at each。(require.js:57)at Module.emit(require.js:1155)at Module.check(require.js: 917)」

2
Magento 2でjqueryライブラリを使用するには?
jQueryを含める必要があるMagentoテーマを作成しています。 これをに追加する<link src="js/jquery-1.7.1.js"/>とhead。動作していますが、MagentoのJavaScript関数は動作していません。カスタムテーマでjQueryライブラリに組み込まれたMagento 2を使用する方法
26 magento2  theme  jquery 

5
Magento 2でのヘルパーのインスタンス化
Magento 2の最新ビルドは、このMageクラスを廃止しました。これは、Mage::helperメソッドを失ったことを意味します。 Magento 2でヘルパーをインスタンス化するための代替技術(ヘルパー工場?)はありますか?それとも私たちは、新しいオブジェクトマネージャクラスを使用して、ただでシングルトン/キャッシュされたオブジェクトとしてヘルパーをインスタンス化することが期待されているget(対create)


2
Magento 2:system.xmlで利用可能なフィールドタイプ
etc/system.xml構成ファイルのフィールドタイプに使用できる値は何ですか: <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd"> <system> <section id="..."> <group id="..."> <field id="..." type="???"> ... </field> </group> </section> </system> </config>

16
Magento 2 adminこのWebページにはリダイレクトループがあります
Magento 2は昨夜リリースされたばかりで、作業を待つことができません。すべての前提条件でインストールしてみました。 フロントエンドは正常に動作しますが、バックエンドを開こうとすると、「このWebページにはリダイレクトループがあります」と表示されます。Magentoは、「admin_r2sxkn」を一意のバックエンドURLとして作成しました。私の管理URLはhttp:// localhost / magento2 / admin_r2sxknです 解決策として、機能しないキャッシュを削除してみました。 PS Macにはxamppがあり、PHPとMySqlの最新バージョンがあり、必要に応じてPHP拡張機能がインストールされています。 任意の助けをいただければ幸いです。
26 magento2  admin 

19
Magento 2のインストール後、CSSおよびJavascriptファイルがロードされない
コンポーザーを使用してMagento 2をローカルサーバーに正常にインストールしましたが、フロントエンドと管理パネルのデザインを見ることができません。そこにプレーンテキストが表示されます。コンソールを見ていると、次のエラーが表示されます。 TypeError: require.config is not a function requirejs-config.js TypeError: require.config is not a function admin:59 TypeError: require is not a function admin:62 ReferenceError: Ext is not defined admin:68 ReferenceError: Fieldset is not defined admin:76 TypeError: require is not a function admin:83 TypeError: require is not a function

1
コレクションの履歴はMagento 2にありますか?
現在Magento 2(2.1.2)にある多くのコードは、Magento 1から多かれ少なかれ移植されており、将来、多くのコードが同等のものに置き換えられることを知っています。この点で、Magento 2のコレクションの未来はどうなっているのでしょうか。 説明させてください: Magento 1: Magento 1では、次のようなコレクションを取得するために使用されます。 $products = Mage::getModel('catalog/product')->getCollection(); その後、フィルターやその他の操作をコレクションに適用できます。 $products->addAttributeToFilter('price', ['gteq' => 10]); $products->addFieldToFilter('created_at', ['lt' => '2016-10-10']); $products->setPageSize(10); // ... etc ... そして最後になりましたが、コレクションはモデルを返します。 foreach ($products as $product) { echo get_class($product); // Mage_Catalog_Model_Product } Magento 2: Magentoは抽象化の多くの新しいレイヤーを追加し、より強固な作業方法を実装します。つまり、エンティティのリストが必要な場合は、リポジトリから要求します。 $productResults = $this->productRepository->getList($searchCriteria); 私たちは、フィルタを適用したい場合は、私たちはの組み合わせを使用しSearchCriteriaBuilder、FilterGroupBuilder、FilterBuilderとSortOrderBuilder: $this->searchCriteriaBuilder->addSortOrder( $this->sortOrderBuilder ->setField('created_at') ->setAscendingDirection() ->create() ); …

3
Magento 2でデフォルトの製品画像サイズを変更するにはどうすればよいですか?
でMagentoの1.xxの、我々は管理者に画像のサムネイルデフォルトを変更できます。 システム>設定>カタログ しかし、magento 2.0では、これらの値を変更するにはどうすればよいですか?これを許可する設定は見つかりませんか?問題は、私の製品画像が大きな白い縞模様で表示されていることであり、これを防止したいのです。

3
Magento Marketplaceテクニカルレビューレポートで発生した警告/エラーの修正方法
新しいMagentoマーケットプレイスでは、提出された拡張機能がいくつかの検証状態を経て、マーケットプレイスで承認および利用可能になります。 そのうちの1つはテクニカルレビューで、そこから次のようなテクニカルレポートを取得できます。 ご覧のとおり、200以上の警告が私を驚かせています。ドキュメントで利用可能なリスト以外のすべての警告を修正するのに役立つリソースはあります:http : //docs.magento.com/marketplace/user_guide/extensions/ review-code-validation.html?

11
localhost開発でのMagento2の実行が非常に遅い
最近、magento2の新しい拡張機能またはカスタマイズの開発を開始しましたが、最初の印象は悪夢でした。変更するたびに20〜30秒ほど待たなければなりませんか?本当に? 私は開発モードについて話しているのですが、キャッシュが有効になっている実稼働環境では、Webサイトがスムーズになることがわかっています。しかし、拡張機能やレイアウトの問題を扱っているときは、静的ファイルを削除したり、キャッシュをクリアしたりする必要があります。 私の質問は、すべてのM2開発者がどのように働くのかということです。ページを更新するのに20〜30秒待たなければならないとは思わないからです... 私の環境:私のPCは8GB RAMを搭載した「良い」i5です。Windowsで作業する必要があるため、vagrantを使用します。 4コアすべてのCPUの使用 5120MBのRAMを使用 Ubuntu / trusty64-Ubuntu 14.04 PHPバージョン7.0.12-1 + deb.sury.org〜trusty + 1 MariaDB-10.1.18-MariaDB-1〜信頼できる Magento 2.1.2は、sampledataのみでインストールされます(モジュールはインストールされません) (詳細を知りたい場合は私に尋ねてください) 正確に何が起こっているのですか? 通常、M2はページをロードするのに5〜10秒ほど大丈夫、遅いが大丈夫、と応答しますが、時々(通常よりも)永久にスタックすることがあります!最初のページである場合もcss、js、htmlファイルである場合もありますが、常に問題はTTFBにあります。 セットアップウィザードにも問題が発生しました。angular.jsでは、これらのファイルは永久に残ります... これらの2つの写真は、セットアップウィザード内の移動に関するものです。 次に、フロントエンドカタログをナビゲートする別のもの: 私は正確に何を求めていますか? これは正常ですか?あなたはこのタイミングで動作しますか?私はこれを何人かの同僚とコメントしましたが、私たちは信じられません。私は時々スクリーンを見ながらずっと待ち続けているのに絶望しています... 誰かが私にテストを見せてほしいと頼んだら、新しい製品を作成したり、ただ驚かせるようなものを...新しい注文を作成し、フィールドを埋め、すべてのフィールドに5-6秒間続くjsを実行します... わからないが、このようなものを開発するのはとても気分が悪い...

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