Pregunta

En este momento tengo un problema para configurar la URL base en el diseño de página de Magento CMS.En este momento estoy haciendo esto, pero no obtengo la URL base:

<action method="addCrumb">
    <crumbName>Home</crumbName>
    <crumbInfo>
        <label>Home</label>
        <title>Home</title>
        <link> {{store url}} </link>
    </crumbInfo>
</action>
¿Fue útil?

Solución

Probablemente esté utilizando la referencia incorrecta.Solo el Mage_Page_Block_Html_Breadcrumbs la clase tiene laaddCrumb método.Ejemplo:

<reference name="breadcrumbs">
    <action method="addCrumb">
        <crumbName>Home</crumbName>
        <crumbInfo>
            <label>Home</label>
            <title>Home</title>
            <link>/</link>
        </crumbInfo>
    </action>
    <action method="addCrumb">
        <crumbName>CMS Page</crumbName>
        <crumbInfo>
            <label>CMS Label Page</label>
            <title>CMS Title Page</title>
        </crumbInfo>
    </action>
</reference>

EDITAR:

Para obtener información dinámica sobre la nueva migaja agregada, vuelva a escribir Mage_Page_Block_Html_Breadcrumbs.Las migajas se almacenan en una matriz como esta:

/**
 * Array of breadcrumbs
 *
 * array(
 *  [$index] => array(
 *         ['label']
 *         ['title']
 *         ['link']
 *         ['first']
 *         ['last']
 *     )
 * )
 *
 * @var array
 */

Creando el addCrumbCms método:

function addCrumbCms($crumbName, $crumbInfo, $after = false)
{
    $crumbInfo['link'] = Mage::getUrl() . Mage::getSingleton('cms/page')->getIdentifier();

    $this->_prepareArray($crumbInfo, array('label', 'title', 'link', 'first', 'last', 'readonly'));
    if ((!isset($this->_crumbs[$crumbName])) || (!$this->_crumbs[$crumbName]['readonly'])) {
       $this->_crumbs[$crumbName] = $crumbInfo;
    }
    return $this;
}

Y use el nuevo método en la última migaja, como este:

<reference name="breadcrumbs">
    <action method="addCrumb">
        <crumbName>Home</crumbName>
        <crumbInfo>
            <label>Home</label>
            <title>Home</title>
            <link>/</link>
        </crumbInfo>
    </action>
    <action method="addCrumbCms">
        <crumbName>CMS Page</crumbName>
        <crumbInfo>
            <label>CMS Label Page</label>
            <title>CMS Title Page</title>
        </crumbInfo>
    </action>
</reference>

Nota:Crea una extensión para hacerlo, no cambies el núcleo.

Otros consejos

He intentado así:

<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>
                <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>magenshop/recipe</link>
                </crumbInfo>
            </action>
            <action method="addCrumb">
                <crumbName>Current Page</crumbName>
                <crumbInfo>
                    <label>Current Page</label>
                    <title>Current Page</title>
                </crumbInfo>
            </action>
        </block>
    </reference>

Pero mi / IN para mi casa, me lleva a proyectar la carpeta raíz, no a la página de inicio de Magento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top