0

ショッピング カート ページのタイトルを変更する必要があります。しかし、私はそれを見つけることができませんでした。どこを変更すればよいでしょうか。どんな助けでも大歓迎です。

ここに画像の説明を入力

ありがとう

4

5 に答える 5

5

タイトルはコントローラーによってapp/code / core / Mage / Checkout / controllers / CartController.phpで設定されるため、XMLを変更しても効果はありません。

$this
->loadLayout()
->_initLayoutMessages('checkout/session')
->_initLayoutMessages('catalog/session')
->getLayout()->getBlock('head')->setTitle($this->__('Shopping Cart'));

コアファイルを変更することは決して良い考えではなく、コントローラーをオーバーライドするのは面倒な場合があります。したがって、これを変更するための正確で迅速な場所は、app / locale / YOUR_LANGUAGE/Mage_Checkout.csvにある翻訳ファイルです。関連するディレクトリにこのファイルがない場合は、ファイルを作成して次の行を追加するだけです。

"Shopping Cart","NEW TITLE HERE"

ファイルがある場合は、その行を編集して、新しいタイトルが元のタイトルとコンマの後に続き、二重引用符で囲まれていることを確認します。

于 2012-06-13T13:47:50.873 に答える
2

それを行う正しい方法は、チェックアウト コントローラーをオーバーライドすることで、とても簡単です。最初に: controllers と etc の 2 つのサブディレクトリを持つ新しいモジュールを追加します。 Mynamespace/Checkout/controllers Mynamespace/Checkout/etc

次に、etc ディレクトリに次の内容の CartController.php ファイルを追加します。

require_once 'Mage/Checkout/controllers/CartController.php';

class Mynamespace_Checkout_CartController extends Mage_Checkout_CartController
{

public function indexAction()
{
    $cart = $this->_getCart();
    if ($cart->getQuote()->getItemsCount()) {
        $cart->init();
        $cart->save();

        if (!$this->_getQuote()->validateMinimumAmount()) {
            $minimumAmount = Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())
                ->toCurrency(Mage::getStoreConfig('sales/minimum_order/amount'));

            $warning = Mage::getStoreConfig('sales/minimum_order/description')
                ? Mage::getStoreConfig('sales/minimum_order/description')
                : Mage::helper('checkout')->__('Minimum order amount is %s', $minimumAmount);

            $cart->getCheckoutSession()->addNotice($warning);
        }
    }

    // Compose array of messages to add
    $messages = array();
    foreach ($cart->getQuote()->getMessages() as $message) {
        if ($message) {
            // Escape HTML entities in quote message to prevent XSS
            $message->setCode(Mage::helper('core')->escapeHtml($message->getCode()));
            $messages[] = $message;
        }
    }
    $cart->getCheckoutSession()->addUniqueMessages($messages);

    /**
     * if customer enteres shopping cart we should mark quote
     * as modified bc he can has checkout page in another window.
     */
    $this->_getSession()->setCartWasUpdated(true);

    Varien_Profiler::start(__METHOD__ . 'cart_display');
    $this
        ->loadLayout()
        ->_initLayoutMessages('checkout/session')
        ->_initLayoutMessages('catalog/session')
        ->getLayout()->getBlock('head')->setTitle($this->__('Here it go the new title!!!!'));
    $this->renderLayout();
    Varien_Profiler::stop(__METHOD__ . 'cart_display');
    }
} 

次に、config.xml ファイル:

<config>
    <modules>
    <Mynamespace_Checkout>
        <version>0.1.0</version>
    </Mynamespace_Checkout>
</modules>
<frontend>
    <routers>
        <checkout>
            <args>
                <modules>
                    <mynamespace_sales before="Mage_Checkout">Mynamespace_Checkout</mynamespace_sales>
                </modules>
            </args>
        </checkout>
    </routers>
</frontend>

最後に、モジュール アクティベーター: app/etc/modules/Mynamespace_Checkout.xml

<config>
    <modules>
        <Mynamespace_Checkout>
            <active>true</active>
            <codePool>local</codePool>
        </Mynamespace_Checkout>
    </modules>
</config>

これは、Magento Enterprise 1.13 でテストされました。

ご挨拶

于 2014-03-26T02:22:56.380 に答える
1

タイトルを上書きする方法の簡単な例を次に示します。

強制タイトル

変数を変更して、指定したlayout.xmlファイルのタイトルを上書きできます。

于 2012-04-10T16:50:58.140 に答える
1

タイトルは、実際にはそのページの XML で設定されます。ディレクトリ内の checkout.xml ファイルを開き、次のapp/design/frontend/packagename/themename/layout/コードを XML のノード内に配置する必要があります。

<reference name="head">
    <action method="setTitle"><title>My New Checkout Title</title></action>
</reference>

デフォルトでは、ページタイトルが明示的に割り当てられていない場合、ハンドルに関連付けられたラベルを取得すると思います(現在、ラベルは「ショッピングカート」であるため、そのタイトルを取得しています)。

私のコードは次のようになります。

   <checkout_cart_index translate="label">
       <label>Shopping Cart</label>
       <remove name="right"/>
       <remove name="left"/>
       <!-- Mage_Checkout -->
       <reference name="head">
           <action method="setTitle"><title>My New Checkout Title</title></action>
       </reference>
       <reference name="root">
           <action method="setTemplate"><template>page/1column.phtml</template></action>
       </reference>
       <!-- More Below -->
   </checkout_cart_index>

言及するもう1つのことは、これらの変更をaで行うこともできますlocal.xml(これをお勧めします)。ファイルは他のすべての XML ファイルの上に読み込まれ、そのlocal.xmlファイルの変更は、レイアウト ディレクトリ内の他の XML ファイルを上書きします。かなり良いチュートリアルがここにあります。

于 2012-04-10T17:05:22.247 に答える
0

これを試して :

<reference name="head">
     <action method="setTitle"><title>My New Checkout Title</title></action>
</reference>
于 2012-11-21T06:19:24.270 に答える