ショッピング カート ページのタイトルを変更する必要があります。しかし、私はそれを見つけることができませんでした。どこを変更すればよいでしょうか。どんな助けでも大歓迎です。
ありがとう
ショッピング カート ページのタイトルを変更する必要があります。しかし、私はそれを見つけることができませんでした。どこを変更すればよいでしょうか。どんな助けでも大歓迎です。
ありがとう
タイトルはコントローラーによって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"
ファイルがある場合は、その行を編集して、新しいタイトルが元のタイトルとコンマの後に続き、二重引用符で囲まれていることを確認します。
それを行う正しい方法は、チェックアウト コントローラーをオーバーライドすることで、とても簡単です。最初に: 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 でテストされました。
ご挨拶
タイトルは、実際にはそのページの 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 ファイルを上書きします。かなり良いチュートリアルがここにあります。
これを試して :
<reference name="head">
<action method="setTitle"><title>My New Checkout Title</title></action>
</reference>