Terjemahan tidak berfungsi pada remah roti yang ditambahkan oleh xml

8

Saya sedang membangun halaman khusus.

Saya menambahkan remah roti seperti ini (dan bekerja dengan baik).

<brand_brand_index translate="label">
        <reference name="breadcrumbs">
            <action method="addCrumb">
                <crumbName>Home</crumbName>
                <crumbInfo>
                    <label>Home</label>
                    <title>Home</title>
                    <link>/</link>
                </crumbInfo>
            </action>
            <action method="addCrumb">
                <crumbName>All Brands</crumbName>
                <crumbInfo>
                    <label>All Brands</label>
                    <title>All Brands</title>
                </crumbInfo>
            </action>
        </reference>
        [[...]]
    </brand_brand_index>

Masalahnya adalah label tidak diterjemahkan di front-end. Ini menunjukkan Home / All Brandsalih-alih versi terjemahan.

Hal-hal yang saya pastikan:

  1. Ditambahkan translate="label"ke pawang
  2. Cache dihapus (sebenarnya saya mematikan caching)
  3. Sintaks terjemahan sudah benar (saya masukkan Mage_Core.csv)
  4. Label diterjemahkan dengan benar oleh kode php (mis: $helper->__('All Brands');

Tolong bantu saya untuk mencari tahu.

Terima kasih.

Tran Dinh Khanh
sumber
1
Kapan menambahkan translate="label"apakah Anda juga memasukkan module="brand_brand"(atau apa pun itu dalam kasus Anda)?
pspahn
<crumbInfo translate="label" module="brand_brand">- Lihat: stackoverflow.com/questions/7550429/…
pspahn
Terima kasih @ pspahn, saya coba dan katakan nanti. Sebentar. Terima kasih.
Tran Dinh Khanh
Di tautan Anda, jawabannya mengatakan If the module attribute is not present, the core module is used.saya menambahkan istilah terjemahan di Mage_Core.csv di awal, jadi mengapa masih tidak berfungsi? Saya hanya menambahkan nama modul (dan file terjemahan modul juga) tetapi masih tidak berfungsi. Saya terus memeriksa. Semenit.
Tran Dinh Khanh

Jawaban:

14

Untuk menerjemahkan remah-remah tanpa menggunakan helper, Anda bisa menggunakan translateatribut untuk actionsimpul Anda dengan menggunakan crumbInfo.labeldan crumbInfo.title.

Contoh:

<reference name="breadcrumbs">
    <action method="addCrumb" translate="crumbInfo.label crumbInfo.title">
        <crumbName>home</crumbName>
        <crumbInfo>
            <label>Home</label>
            <title>Home</title>
            <link>/</link>
        </crumbInfo>
    </action>
    <action method="addCrumb" translate="crumbInfo.label crumbInfo.title">
        <crumbName>brands</crumbName>
        <crumbInfo>
            <label>All Brands</label>
            <title>All Brands</title>
        </crumbInfo>
    </action>
</reference>

Ini adalah cara yang lebih baik untuk menerjemahkan remah roti, gunakan pembantu hanya jika Anda telah menetapkan judul khusus bergantung pada params URL atau yang lainnya.

Frédéric MARTINEZ
sumber
Frederic terima kasih. Sederhana tetapi berhasil. Saya sudah mencobanya di Magento 1.9.1.0
Andhi Irawan
@PeterJaapBlaakmeer Terima kasih! Ya, saya pikir jawaban saya adalah jawaban yang diterima. Lebih mudah dan Anda tidak perlu pembantu lain.
Frédéric MARTINEZ
1
Saya menandai jawaban Anda sebagai diterima karena saya merasa lebih mudah melakukannya dalam banyak kasus. Terima kasih. Jawaban Anda datang terlambat ketika saya menyelesaikannya sejak lama, itu sebabnya itu tidak diterima.
Tran Dinh Khanh
3

Perhatikan bahwa Anda juga dapat membuat tautan untuk remah roti menggunakan kelas pembantu.
Menggunakan kelas helper, blok XML di atas mungkin terlihat seperti:

<brand_brand_index translate="label">
    <reference name="breadcrumbs">
        <action method="addCrumb">
            <crumbName>Home</crumbName>
            <params helper="module/getHomeUrl" />
        </action>
        <action method="addCrumb">
            <crumbName>All Brands</crumbName>
            <params helper="module/getBrandUrl" />
        </action>
    </reference>
    [[...]]
</brand_brand_index>

Dan tambahkan getHomeUrl()& getBrandUrl()metode dalam Helper / Data.php modul Anda sebagai:

class Namespace_Module_Helper_Data extends Mage_Core_Helper_Abstract
{
    //...

    public function getHomeUrl()
    {
        return array(
            'label' => Mage::helper('module')->__('Home'),
            'title' => Mage::helper('module')->__('Home'),
            'link' => Mage::getUrl(),
        );
    }

    public function getBrandUrl()
    {
        return array(
            'label' => Mage::helper('module')->__('All Brands'),
            'title' => Mage::helper('module')->__('All Brands')
        );
    }
}
MagePsycho
sumber
Ini berfungsi dengan baik, tetapi apakah Anda tahu mengapa terjemahannya tidak berfungsi jika Anda menggunakan <crumbInfo><label></label></crumbInfo>-ya?
TimPietrusky
Telah memposting jawaban saya di bawah ini, saya tidak dapat mendapatkan remah roti yang tepat dalam modul khusus saya
Sushivam
0

Saya mencoba hal yang sama seperti di bawah ini:

dalam file xml saya:

<reference name="root">
        <action method="unsetChild"><alias>breadcrumbs</alias></action>
        <block type="page/html_breadcrumbs" name="breadcrumbs" as="breadcrumbs">
            <action method="addCrumb">
                <crumbName>Home</crumbName>
                <params helper="recipe/getHomeUrl" />
                <!-- <crumbInfo>
                    <label>Home</label>
                    <title>Home</title>
                    <link>/</link>

                </crumbInfo> -->
            </action>
            <action method="addCrumb">
                <crumbName>Recipes</crumbName>
                <crumbInfo>
                    <label>Recipes</label>
                    <title>Recipe Home Page</title>
                    <link>/recipe</link>
                </crumbInfo>
            </action>
            <action method="addCrumb">
                <crumbName>Current Page</crumbName>
                <crumbInfo>
                    <label>Current Page</label>
                    <title>Current Page</title>
                </crumbInfo>
            </action>
        </block>
    </reference>

\ app \ code \ local \ Magenshop \ Recipe \ Helper \ Data.php

public function getHomeUrl()
{
    return array(
        'label' => Mage::helper('module')->__('Home'),
        'title' => Mage::helper('module')->__('Home'),
        'link' => Mage::getUrl(),
    );
}

Saya hanya mendapatkan:

1) / Resep / Halaman Saat Ini

2) Tidak Ada Tautan Halaman Utama ...

Sushivam
sumber
Pastikan nama ekstensi Anda adalah "resep", bukan "magenshop / resep".
Tran Dinh Khanh