テンプレート内のリンクを比較するために追加を取り除く方法

magento.stackexchange https://magento.stackexchange.com/questions/1362

  •  16-10-2019
  •  | 
  •  

質問

私は、テンプレートのリンクを比較するために追加する方法を削除する方法について完全に途方に暮れています。私はグローバルな検索を行い、そのフレーズを含むすべてのファイルを見つけ、各ファイルにその用語を含むセクションを注意深くコメントしました。これは、グリッドビューからではなく、リストビューから用語を削除するために機能しました。このリンクは他にどこに住むことができますか?

役に立ちましたか?

解決

推奨される方法は、以下に示すソリューションを使用することです。

https://magento.stackexchange.com/a/4997/695

addtocompareリンクを削除するための迅速で汚い方法 - もうお勧めしません

Magentoストアのどこにでも「比較する」リンクを削除するには

  1. 抽象クラスをオーバーライドする」abstract.php「App/Code/Inside//mage/catalog/block/product to app/code/ローカル/mage/catalog/block/product

  2. メソッドを変更します getaddtocompareurl($ product) abstract.php

    public function getAddToCompareUrl($product)
    {
      return "";
    }
    

他のヒント

新しいカスタムモジュールを作成することを提案します。

ステップ1 :

オーバーライドクラスを作成します

 <?php
    class YourPackage_YourModule_Helper_Product_Compare extends Mage_Catalog_Helper_Product_Compare
    {

        public function getAddUrl($product)
    {
        /* 
         * Configurable from Admin
         * Go to System > Configuration > Catalog: Catalog > Recently Viewed/Compared Products
         * Set “Default Recently Compared Products” count to 0
         * For display compare link you can put a number greater than 0
         */

        if(Mage::getStoreConfig('catalog/recently_products/compared_count')) {
            return parent::getAddUrl($product);
        }

        return false;
    }

    }

ステップ2:

書き換えXMLを作成します

<?xml version="1.0"?>
<config>
    <modules>
        <YourPackage_YourModule>
            <version>1.0</version>
        </YourPackage_YourModule>
    </modules>
    <global>
        <helpers>
            <catalog>
                <rewrite>
                    <product_compare>YourPackage_YourModule_Helper_Product_Compare</product_compare>
                </rewrite>
            </catalog>
        </helpers>
    </global>
</config>

ステップ3:

モジュールをアクティブにします

<?xml version="1.0"?>
<config>
    <modules>
        <YourPackage_YourModule>
            <active>true</active>
            <codePool>local</codePool>
        </YourPackage_YourModule>
    </modules>
</config>

比較ブロックを削除したい場合:

<?xml version="1.0" encoding="UTF-8"?>
<layout>
    <default>
        <remove name="catalog.compare.sidebar"/>
        <remove name="right.reports.product.compared"/>
    </default>   
</layout>

オーバーライドできます Mage_Catalog_Helper_Product_Compare::getAddUrl() 方法。

これに変更してください:

public function getAddUrl($product)
{
    return false;
}

バージョン1.7.0.2

汗を減らすために、代わりにlocal.cssファイルに供給してください。

まず、スタイルを追加します add-to-links <div>:

    .add-to-links {display: none}

また、ウィッシュリストへの追加とAdd to Compareリンクの間の垂直線を削除したことに注意してください。

次に、私たちはあなたのテーマのlocal.cssをスタイリングし続け、非表示にします <div> or 製品ビューディスプレイ:

    .add-to-box .or {display: none}

今、あなたのフロントエンドを更新する場合 サンドボックス ストア、これらの変更が有効になることがわかります。

さて、ファイルの1つ-list.phtml-には、この2つのインスタンスがありました。それを削除するには、次のように見えるすべてのブロックを見つける必要があります。

                <ul class="add-to-links">
                    <?php if ($this->helper('wishlist')->isAllow()) : ?>
                        <li><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
                    <?php endif; ?>
                    <?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?>
                        <li><span class="separator">|</span> <a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li>
                    <?php endif; ?>
                </ul>

そして追加します

<!--

上記、そして

-->

その下で、こうしてコメントします。

私はこの拡張機能にどのような方法でも所属していませんが、それを使用しており、完全にトリックを行います。 Magento Connectを検索ET Advanced Compareの検索。 (http://www.magentocommerce.com/magento-connect/et-advanced-compare.html)

Addを完全に比較するためにAddを削除することができますが、Ajaxを使用して比較する製品を追加するオプションも提供し、ユーザーが比較するために追加されたときにページをリロードする必要性を無効にします。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top