Frage

Wir haben eine benutzerdefinierte CMS -Typ -Seite, die aus dem hinzugefügt wird Category die Einstellungen.
Hergestellt in /neon-signs/custom-neon-signs.html

Unter dieser Kategorieneinstellung setzen wir die URL Key und dann auch a zuweisen CMS Block in dieser URL zeigen.

Jetzt unter unserem CMS Block Einstellungen haben wir ...

{{block type="core/template" template="avenirgallery/custon_neon_sign_form.phtml"}}

Dadurch können wir unsere CMS -Seite daraus erstellen .phtml file

Jetzt stehen wir vor einer neuen Herausforderung. Auf dieser Seite werden wir eine haben keyword wie Brauch, Personalisiert, etc...

Wir möchten dieses Schlüsselwort überall auf der Seite basierend auf der URL ersetzen. So können wir den Datenverkehr an verschiedene Versionen der Seite senden und dieses Schlüsselwort wird ersetzt.

Jetzt kann ich dies mit einer solchen URL ohne Problem machen .../neon-signs/custom-neon-signs.html?keyword=Custom Und dann kann ich das Schlüsselwort im Dokument verwenden $_GET['keyword']

Jetzt ist unser Problem das Page Title. Im Moment hat unser CMS -Block einen Titel wie diesen
Benutzerdefinierte Neonschilder

Da der Titel im Administratorfeld für den CMS -Block festgelegt ist, kann ich ihn nicht so ändern, dass der Wert in der URL festgelegt ist /neon-signs/custom-neon-signs.html?keyword=Custom

Hier ist meine eigentliche Frage ... wie kann ich den Titel des CMS-Blocks dynamisch aus dem Code festlegen und die Einstellung des Administratorpanels für den CMS-Blocktitel überreiten lassen?

Ich hoffe es gibt einen Weg?

Eine weitere Bonusfrage wäre, gibt es eine Möglichkeit, eine hübsche URL zu haben, um unser Schlüsselwort in der URL zu verwenden? Ich denke, da der URL -Schlüssel in der Kategorieeinstellung festgelegt ist, wäre es schwierig, die URLs zu ändern, und ich bin besser dran, nur meine aktuelle Methode zu verwenden?

Vielen Dank für jede Hilfe in dieser Angelegenheit. Ich muss wirklich in der Lage sein, den CMS -Blocktitel dynamisch von meinem festzulegen .phtml Datei oder eine andere Möglichkeit, den Wert aus zu nutzen $_GET['keyword'] und es auf einen Teil des Titels anwenden?

War es hilfreich?

Lösung

Sie können den Seitentitel aus einer Blockklasse ändern. Dies wäre in diesem Fall wahrscheinlich am einfachsten.

Erstellen Sie eine benutzerdefinierte Erweiterung und fügen Sie eine Blockklasse hinzu, indem Sie die Datei erstellen app/code/(community|local)/[Namespace]/Avenirgallery/Block/Form.php

Legen Sie nun diese Klasse als den Typ im oben beschriebenen Tag fest {{block type="avenirgallery/form" template="avenirgallery/custon_neon_sign_form.phtml"}}

Jetzt in der Blockklasse, die [Namespace] _avenirGallery_block_form wäre

class [Namespace]_Avenirgallery_Block_Form extends Mage_Core_Block_Template
{
    protected function _prepareLayout()
    {
        $head = $this->getLayout()->getBlock('head');
        $head->setTitle( Mage::app()->getRequest()->getParam('keyword') );

        return parent::_prepareLayout();
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top