Hinzufügen eines statischen CMS-Blocks zur Homepage

25

Ich habe verschiedene Tuts darüber gelesen und einige sagen, dass alles über das Admin-Panel erledigt werden kann, andere sagen, dass ich Code in mein Layout und in die Vorlagendateien einfügen muss. Nun, nichts funktioniert ...

  1. Ich habe den statischen Block von admin> CMS> static blocks mit dem Bezeichner home_image-center erstellt
  2. Ich habe die Vorlagen- App / design / frontend / enterprise / my_theme / template / cms / home.phtml gefunden und an der Stelle, an der der Block stehen soll, den folgenden Code geschrieben:

    <div>

    <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('home_image-center')->toHtml();?>

    </div>

  3. In admin> CMS> Pages wurde die aufgerufene Seite geöffnet, homeund auf der Registerkarte Design im Feld Custom Layout Update XML habe ich den folgenden Code hinzugefügt: <block type="core/template" name="home_image-center" template="cms/home.phtml" />zwischen den referenceTags.

Ich habe Text in den Inhalt des statischen Blocks eingefügt, nur um zu sehen, ob er angezeigt wird, aber nicht. Mein letztes Ziel ist es, diesen Block dort abzulegen und zur Verfügung zu stellen, um ein statisches Bild oder einen statischen Text darin zu haben, der jederzeit vom Back-End aus geändert werden kann.

Syspect
quelle

Antworten:

26

Ich kann völlig falsch liegen, aber Sie können es so nennen

{{block type="cms/block" block_id="home_image-center"}} 

in cms -> homepage-> content: in diesem click show / hideitor past above code funktioniert es

Pawankumar
quelle
1
Ich habe sowohl deinen Vorschlag als auch {{block type="cms/block" block_id="home_center_image" template="cms/content.phtml"}}... ausprobiert und es funktioniert nicht.
Syspect
Sie schreiben Block und Template sind beide nicht funktionsfähig. Sie können sie unterschiedlich aufrufen. Es funktioniert wie die Aufrufvorlagendatei {{block type = "core / template" template = "catalog / product / form-top.phtml"}} nach dem Aufruf wie Block {{block type = "cms / block" block_id = "home_image-center"}}
Pawankumar
welcome kalpesh :)
Pawankumar
6
Ab Magento Comunity 1.9.2.2 (oder Enterprise Edition 1.14.2.2) müssen Sie sicherstellen, dass cms / block unter System => Permissions => Blocks zulässig ist. Weitere Informationen
Stelian,
1
Dieser Weg funktioniert auch, wenn Sie cms/blockin System -> Berechtigungen -> Blöcke
Vasilii Burlacu
12

Es ist eine späte Antwort, aber ich werde teilen. Es ist wahr, dass Sie alles vom Administrator aus erledigen können. Sie können jeder cms-Seite einen beliebigen statischen Block direkt von admin als Widget hinzufügen. Öffnen Sie die CMS-Seite und klicken Sie auf die Registerkarte Inhalt. Klicken Sie oben auf die Schaltfläche Widget einfügen .... Sie erhalten folgendes Fenster.

Bildbeschreibung hier eingeben

Wählen Sie in der Dropdown-Liste CMS Static Block aus. Dann haben Sie das folgende Fenster.

Bildbeschreibung hier eingeben

Wählen Sie nun eine benutzerdefinierte Vorlage aus, behalten Sie die Standardvorlage bei und klicken Sie auf die Schaltfläche Block auswählen. In einem weiteren Popup-Fenster wird die vollständige Liste der Blöcke angezeigt (siehe unten).

Bildbeschreibung hier eingeben

Wählen Sie den gewünschten Block und das Fenster wird geschlossen. Klicken Sie nun im Fenster "Widget einfügen" auf "Widget einfügen". Der cms-Block wird Ihrer cms-Seite hinzugefügt.

Es wird der folgende Code eingefügt:

{{widget type="cms/widget_block" template="cms/widget/static_block/default.phtml" block_id="46"}}

Ich verwende dieselbe Methode, um statische cms-Blöcke zu meinen cms-Seiten hinzuzufügen, und es funktioniert einwandfrei.

Vielen Dank

Altaf Hussain
quelle
Funktioniert wie ein Zauber
Erdal G.
9

Richtig, also waren ich (und ihr) uns sehr nahe. Auf der aktuellen CMS-Seite in Design> Custom Design> Custom Layout Update musste ich das XML- Feld setzen

<block type="cms/block" name="home_center-image" before="-">
      <action method="setBlockId"><block_id>home_center-image</block_id></action>
</block> 

und bevor ich es einfach versuchte <block type="core/template" name="home_image-center" template="cms/home.phtml" />.

Jetzt funktioniert es gut. :)

Syspect
quelle
Sie können dem Inhaltsbereich auch einen statischen Block hinzufügen:{{block type="cms/block" block_id="home_image-center"}
gelanivishal
0

Sie sollten Folgendes überprüfen:

CMSPages

Suchen Sie dann nach der Werbebuchung, deren Wert " home" lautet. URL KeyKlicken Sie auf die Zeile, um sie zu bearbeiten.

Klicken Sie im linken Optionsmenü auf die ContentsRegisterkarte und dann auf Show / Hide Editor, um den Inhalt der Seite in Rohcode anzuzeigen.

Sie können die Seite von hier aus bearbeiten und die gewünschten Änderungen vornehmen.

PS: Dies ist etwas knifflig, da die Änderungen - wie Sie bereits erwähnt haben - direkt in der Vorlagendatei vorgenommen werden müssen. Nach meiner Erfahrung funktioniert diese Methode jedoch in der Regel zu 100%.

Elch
quelle
Das habe ich auch probiert. Ich habe sogar nur Text in den Inhalt eingefügt, um ihn zu testen, aber der Text wurde nicht angezeigt. Ich glaube, es ist nicht die richtige CMS-Seite, auf der ich schreibe. Aber ich möchte die Startseite ändern, und das ist die einzige CMS-Seite, die das Wort homeim Namen hat ...
Syspect
Verwenden Sie ein Thema von Drittanbietern?
Moose