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

1
MagentoのEEキャッシュに印象的なファントムナビゲーションデコレータの奇妙なケース
変なものの準備をしなさい。そのため、プライマリカタログナビゲーションをカスタマイズして、デバイス全体で複数の対話モデル(メニュー、ドロップダウン、モーダルなど)を処理するステートフルUI動作を構築しています。あなたのように。 つまり、このクラス/メソッドをオーバーライドします。 app/code/core/Mage/Page/Block/Html/Topmenu.php :: _getHtml() このようなHTML出力を生成するには(多少簡略化): <ul class="nav-list"> <li class="nav-1"> <a data-ui-action="nav-1" href="#">Bazzow</a> <div class="menu"> ... </div> </li> <li class="nav-2"> <a data-ui-action="nav-2" href="#">Bazinga</a> <div class="menu"> ... </div> </li> </ul> さて、これはdata-ui-action属性を除いてかなり退屈/標準です。そこでJSの魔法が起こります。その属性を持つ要素をクリックすると、UIの状態が更新されます。ごli.nav-X想像のとおり、クラス(Magentoが追加)は、UI状態をアクティブ化された要素にバインドするためのフックとして機能します。 いいですね EEキャッシュをオンにします。いいですか?違う。 表示しているページがBazinga(別名nav-2)のカタログ階層内にある場合、突然次のように表示されます。 data-ui-action="nav-2 active" 不快なactive文字列を追加したのは誰ですか?幻は誰です。 そして、データ属性の値が<li>クラスと一致しなくなったため、UI状態が失敗します。ファントムを追い詰める。 狩り 最初に、EEキャッシュの下$child->getPositionClass()で、出力nav-2に実際に他の(おそらく)クラス値が追加されていないことを確認します。ありません。 Magentoの多くのデコレータJSスクリプトの1つがnavリストで実行されていないことを確認します。そうではありません。 たぶんそれは実際にはの奇妙なことでしょう/js/varien/menu.js。ただし、いつものように、これらのコアスクリプトは既に除外されています。 たぶん、モジュールがPHPクラスからレンダリングされるとは決して知らない、クレイジーなインラインJSかもしれません。タグactive内でページソースを検索します<script>。何も見つかりません。 たぶん、JS Magentoが必要とするが外部からロードする他のクレイジーなものかもしれません。ブラウザでJSを無効にしますが、ファントムは存続します。 Topmenu.phpクラスに戻り、データ属性を削除します。問題は停止します。なんてこったい。 同じ要素の別の属性が適切に引用符で閉じられていないのではないかと思います(クラスの追加が多く発生します)。そのため、属性の順序を入れ替えて、さまざまな組み合わせで削除します。サイコロなし。データ属性が存在する場合、ファントムも存在します。 この PHPクラスが行動を起こさないとしたらどうでしょうか。page_block_html_topmenu_gethtml_afterマークアップを超えてハックするために他の何かが使用する可能性のあるディスパッチイベントがあります。なし。 何。です ハプニング。ここに。 …

2
Magento 2ナビゲーションメニューが表示されない
私はMagentoを初めて使用するので、我慢してください:D 空白のテーマの子であるテーマを正常に作成しました。 私はメニューを機能させようとしているのですが、私の人生では、なぜメニューが表示されないのかわかりません。私は他のいくつかのスレッドを読みましたが、運はありません。 サブカテゴリを含むルートカテゴリを追加しました。次に、それをストア設定に割り当てました。サイトのインデックスを再作成し、キャッシュをクリアしましたが、それでも喜びはありません。 カテゴリを追加するだけで正しいことをしているのですか?それは表示されますか? ありがとう デフォルトのカテゴリがないようです-下のスクリーンショットを参照してください 更新 ローカルマシンにMagentoを再インストールしました。メニューはルマとブランクのテーマでうまく表示されますが、私自身のカスタムテーマでは表示されません。追加または確認する必要があるものはありますか? 助けてくれてありがとう

1
Magento 2のメインナビゲーション(トップメニュー)javaScriptのカスタマイズ
Magento2のメインナビゲーションに変更を加えようとして、テーマモジュールと空のテンプレートを掘り下げて見ました。これまでのところ、ページにレンダリングされるコンテンツを制御するためのカスタムモジュールを作成しました(サブナビゲーションへのリンクの追加)。ただし、ナビゲーションメニューのjavaScriptがどこにあるのかわかりません。 空白のテンプレートにnavigation.menu.jsファイルがあり、テーマモジュールにmenu.jsがありますが、どちらもメインメニュー用ではないようで、JSを探す場所が他にありません。 ブロックはXMLによって生成され、ナビゲーションはjQuery UIで実行されているように見えるため、検索に使用できるものがあまりありません。これまでは主に、ベーステンプレートに基づいて構築されたカスタムテンプレートをベンダーディレクトリを検索して変更してきましたが、何も表示されません。 私はベーステンプレートに基づいて構築されたカスタムテンプレートでMagento 2.1を実行しています。誰かが私を正しい方向に向けることができれば、それは大きな助けになります。 Edit1: したがって、さらにグーグルしてテストした後、lib / web / mageに2番目のmenu.jsファイルが見つかりましたが、これは適切な場所のようですが、今はそれをオーバーライドできません。 私の新しい情報で、実際にメニューと管理メニューをオーバーライドする例を含むMagento2開発ドキュメントを偶然見つけました。だから私は私のモジュールに以下を追加しました 名前空間/モジュール/view/frontend/require-config.js var config = { map: { '*': { 'menu': 'Test_Topmenu/js/navigation-menu' } } }; 名前空間/モジュール/view/frontend/web/js/navigation-menu.js define([ 'jquery', 'jquery/ui', 'mage/menu' ], function ($) { "use strict"; $.widget('Test_Topmenu.navigationMenu', $.mage.menu, { _init: function () { console.log('new init'); } }); return …

1
「ナビゲーションメニューに含める」がnoに設定されているすべてのサブカテゴリのリストを取得する方法
ナビゲーションメニューに含まれていないすべてのサブカテゴリを取得しようとしましたが、それらはアクティブであり、リストページの現在のカテゴリです。 $children = Mage::getModel('catalog/category')->getCategories(10); //10 current category id このカテゴリコレクションでも、ナビゲーションメニューに含まれるサブカテゴリのみが返されます。 ナビゲーションメニューに含まれていないカテゴリを取得する方法は?

1
カテゴリから製品の位置を取得
Inchooのブログに従って、製品ビューページに[前へ] / [次へ]ボタンを実装しています。デフォルトのMagentoテーマで問題なく機能しますが、私のテーマでは、カテゴリーからの製品の位置の取得に問題があります。 製品のview.phtmlにコードを追加しました <?php $_prev = $this->helper('retailon_productprevnext')->getPreviousProduct(); ?> <?php $_next = $this->helper('retailon_productprevnext')->getNextProduct(); ?> <?php if($_prev): ?><a class="product-prev" href="<?php echo $_prev;?>"><?php echo $this->__('< Previous')?></a><?php endif; ?> <?php if($_next): ?><a class="product-next" href="<?php echo $_next;?>"><?php echo $this->__('Next >')?></a><?php endif; ?> 私のヘルパーの以前の製品のコードは次のとおりです: public function getPreviousProduct() { $prodId = Mage::registry('current_product')->getId(); $catArray = Mage::registry('current_category'); if($catArray){ …

2
FLATカテゴリが有効な場合、親カテゴリのサブカテゴリを取得します
現在のカテゴリのサブカテゴリのみを表示するカスタムメニューを作成するために、ブロッククラスMage_Catalog_Block_Navigation(署名へのリンク)をオーバーライドします。 内部メソッドrenderCategoriesMenuHtml(署名へのリンク)選択した親カテゴリの子カテゴリを取得しようとしています。だから私はデフォルトのコードを置き換えました: foreach ($this->getStoreCategories() as $child) { //... } 次のように: /** * @param $parent ID of category from which we start * @param $recursionLevel How many levels of subcategories retrieve * getCategories(...) is a method from model Mage_Catalog_Model_Category */ $category = Mage::getModel('catalog/category'); $storeCategories = $category->getCategories($parent, $recursionLevel); foreach ($storeCategories as $child) …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.