プラグインを使用せずにmagentoのドロップダウンメニューに画像を表示する方法[終了]


7

Magentoでは、カテゴリとサブカテゴリを追加しました。これらは、私のWebサイトのホームページに表示されます。

今、私はそれぞれの画像と共にサブカテゴリを表示したいと思います。しかし、Magentoが提供する拡張機能は使用したくありません。

以下のスナップショットは、ドロップダウンメニューの外観を示していますが、それぞれのカテゴリに画像を追加したいと思います。 サブカテゴリのあるドロップダウンメニュー

これは、renderer.phtml app / design / frontend / rwd / default / template / page / html / topmenuに追加したコードです

<?php

$html = '';

$children = $menuTree->getChildren();
$parentLevel = $menuTree->getLevel();
$childLevel = is_null($parentLevel) ? 0 : $parentLevel + 1;

$counter = 1;
$childrenCount = $children->count();

$parentPositionClass = $menuTree->getPositionClass();
$itemPositionClassPrefix = $parentPositionClass ? $parentPositionClass . '-' : 'nav-';

foreach ($children as $child) {
    $child->setLevel($childLevel);
    $child->setIsFirst($counter == 1);
    $child->setIsLast($counter == $childrenCount);
    $child->setPositionClass($itemPositionClassPrefix . $counter);

    $outermostClassCode = 'level'. $childLevel;
    $_hasChildren = ($child->hasChildren()) ? 'has-children' : '';

    $html .= '<li '. $this->_getRenderedMenuItemAttributes($child) .'>';

    $html .= '<a href="'. $child->getUrl() .'" class="'. $outermostClassCode .' '. $_hasChildren .'">'. $this->escapeHtml($this->__($child->getName())) .'</a>';

    if (!empty($childrenWrapClass)) {
        $html .= '<div class="'. $childrenWrapClass .'">';
    }

    $nextChildLevel = $childLevel + 1;

    if (!empty($_hasChildren)) {
        $html .= '<ul class="level'. $childLevel .'">';
        $html .=     '<li class="level'. $nextChildLevel .' view-all">';
        $html .=         '<a class="level'. $nextChildLevel .'" href="'. $child->getUrl() .'">';
        $html .=             $this->__('View All') . ' ' . $this->escapeHtml($this->__($child->getName()));
        $html .=         '</a>';
        $html .=     '</li>';
        $html .=     $this->render($child, $childrenWrapClass);
        $html .= '</ul>';
    }

    if (!empty($childrenWrapClass)) {
        $html .= '</div>';
    }

    $html .= '</li>';

    $counter++;
}

return $html;

そして、私がapp / design / frontend / rwd / default / template / page / html / topmenu.phtmlに追加した以下のコード

<?php $_menu = $this->getHtml('level-top') ?>
<?php if($_menu): ?>
<nav id="nav">
    <ol class="nav-primary">
        <?php echo $_menu ?>
    </ol>
</nav>

<?php endif ?>

また、次のコードをapp / etc / modules / WP_customMenu.xmlに追加して、カスタマイズされた形式でカテゴリリストを表示します

<?xml version="1.0"?>
<config>
    <modules>
        <WP_CustomMenu>
            <active>true</active>
            <codePool>community</codePool>
        </WP_CustomMenu>
    </modules>
</config>

あなたが試したコードを投稿してください
MeenakshiSundaram R '18

2
タイトルが言っていることにもかかわらず、実際にはサードパーティの拡張機能(WP_CustomMenu)の使用に関するものであるため、私はこの質問をトピック外として閉じることに投票します。
Fabian Schmengler、2015

@fschmengler、私は間違ったタイトルに同意しますが、問題のモジュールはオープンソースであり、自由に入手できませんか?
Prateek、2015

回答:


1

テンプレートにカテゴリをロードする必要があります。ファクトリメソッド(ここに示す)またはブロックのインスタンス化({{block}}またはxml block)のいずれか。このコードスニペットがお役に立てば幸いです。

$_helper    = $this->helper('catalog/output');
$_category  = Mage::getModel('catalog/category)->load(CATEGORYID);// get your category here.
$_imgHtml   = '';
if ($_imgUrl = $_category->getImageUrl()) {
    $_imgHtml = '<p class="category-image"><img src="'.$_imgUrl.'" alt="'.$this->htmlEscape($_category->getName()).'" title="'.$this->htmlEscape($_category->getName()).'" /></p>';
    $_imgHtml = $_helper->categoryAttribute($_category, $_imgHtml, 'image');
    echo $_imgHtml;
}


0

magento管理パネルに移動し、[カタログ]-> [カテゴリの管理]->をクリックして、必要なカテゴリをクリックし、exに必要なカテゴリのIDを書き留めます。冒険のIDを:2796にします。

次に、cms-> static block> Add New Blockに移動します

ブロックタイトル*:wp_custom_menu_2796識別子*:wp_custom_menu_2796ストアビュー*:必要なビューステータス*:有効なコンテンツ*:

2796はカテゴリーIDです


@ rashmi sm、こんにちは姉妹、あなたはあなたがしたことをスクリーンショットを共有してくれますか
Gem

@ rashmi sm:私はあなたのポイントをしましたが、画像を表示しませんでした、snag.gy / qEB3fo.jpg
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.