Quiero saber las diferencias entre estas dos funciones. Entiendo el comportamiento de getChildHtml(). Devuelve el código html de la cuadra o todos los bloques que si no se pasa ningún parámetro.
Y puedo ver

getChildHtml($name, $useCache, $sorted)
getChildChildHtml($name, $childName,$useCache, $sorted)

a primera vista me a $useCache param que me supone es el uso de la caché.

InformationsquelleAutor davidselo | 2012-01-18

1 Comentario

  1. 43

    Digamos que usted está en la raíz del bloque phtml archivo de plantilla, y se ha simplificado la estructura de bloques que se parece a esto

    root
        left
            promo_top
            navigation
            promo_bottom
        center
        right

    Desde el bloque de la raíz del archivo de plantilla para imprimir el bloque de izquierda tendría que utilizar getChildHtml.

    echo $this->getChildHtml('left');

    Sin embargo, si por alguna razón usted desea imprimir el promo_top bloque en la raíz de la plantilla de, tendrías que hacer algo como esto

    $left = $this->getChildBlock('left')
    echo $left->getChildHtml('promo_top')

    La getChildChildHtml método permite hacer este tipo de cosas en una simple llamada al método. De nuevo, desde la raíz de la plantilla de

    echo $this->getChildChildHtml('left','promo_top');

    Así, la semántica

    1. Llevar a Mi Hijo Bloque con el nombre de X
    2. A continuación, obtener es niño bloque con el Y
    3. Representar el HTML

    Si miramos el código fuente se puede ver que, en última instancia, este método sólo envuelve una llamada a getChildHtml

    #File: app/code/core/Mage/Core/Block/Abstract.php
    public function getChildChildHtml($name, $childName = '', $useCache = true, $sorted = false)
    {
        if (empty($name)) {
            return '';
        }
        $child = $this->getChild($name);
        if (!$child) {
            return '';
        }
        return $child->getChildHtml($childName, $useCache, $sorted);
    }
    • muy útil para mí, gracias Alan
    • Impresionante explicación. Gracias Alan.

Dejar respuesta

Please enter your comment!
Please enter your name here