Ajouter un bloc statique de cms dans la page d'accueil

25

J'ai lu différentes informations à ce sujet et certains disent que tout peut être fait à partir du panneau d'administration, d'autres disent que je dois ajouter du code dans ma mise en page et dans les fichiers de modèle. Eh bien, rien ne fonctionne ...

  1. J'ai créé le bloc statique depuis admin> CMS> blocs statiques avec l'identifiant home_image-center
  2. J'ai trouvé le modèle d' application / design / frontend / enterprise / my_theme / template / cms / home.phtml et à l'endroit où je veux que le bloc se tienne, j'ai écrit ce code:

    <div>

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

    </div>

  3. Dans admin> CMS> Pages a ouvert la page appelée homeet dans l' onglet Conception du champ XML de mise en page personnalisée, j'ai ajouté ce code: <block type="core/template" name="home_image-center" template="cms/home.phtml" />entre les referencebalises.

J'ai mis du texte dans le contenu du bloc statique, juste pour voir s'il sera affiché, mais ce n'est pas le cas. Mon objectif final est de mettre ce bloc là et de le rendre disponible pour avoir une image statique ou du texte, qui peut être modifié à tout moment depuis le back-end.

Syspect
la source

Réponses:

26

Je me trompe peut-être totalement, mais vous pouvez l'appeler comme ça

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

en cms -> page d'accueil-> contenu: dans ce clic, afficher / masquer le code passé au-dessus du code, cela fonctionne

Pawankumar
la source
1
J'ai essayé votre suggestion et {{block type="cms/block" block_id="home_center_image" template="cms/content.phtml"}}... et ça ne marche pas.
Syspect
vous écrivez bloc et modèle les deux ne fonctionnent pas vous pouvez appeler différemment cela fonctionnera comme appelez le fichier modèle {{block type = "core / template" template = "catalogue / produit / form-top.phtml"}} après l'appel comme bloc {{block type = "cms / block" block_id = "home_image-center"}}
Pawankumar
bienvenue kalpesh :)
Pawankumar
6
À partir de Magento Comunity 1.9.2.2 (ou Enterprise Edition 1.14.2.2), vous devez vous assurer que cms / block est autorisé dans System => Permissions => Blocks. Vous pouvez en savoir plus sur dudesquare.nl/blog/2015/10/31 /…
Stelian
1
Cette méthode fonctionne également si vous ajoutez cms/blockdans Système -> Autorisations -> Blocs
Vasilii Burlacu
12

C'est une réponse tardive, mais je vais partager. Il est vrai que vous pouvez tout faire depuis l'administrateur. Vous pouvez ajouter n'importe quel bloc statique à n'importe quelle page cms directement depuis l'administrateur en tant que widget. Ouvrez la page CMS, puis cliquez sur l'onglet contenu. En haut, cliquez sur le bouton Insérer un widget .... Vous aurez la fenêtre suivante.

entrez la description de l'image ici

Dans le menu déroulant, sélectionnez CMS Static Block. Ensuite, vous aurez la fenêtre suivante.

entrez la description de l'image ici

Maintenant, sélectionnez un modèle personnalisé, sinon conservez-le par défaut et cliquez sur le bouton Sélectionner un bloc ... Dans un autre pop-up, vous aurez la liste complète des blocs hte comme ci-dessous.

entrez la description de l'image ici

Sélectionnez le bloc souhaité et la fenêtre se fermera. Maintenant, dans la fenêtre d'insertion de widget, cliquez sur insérer un widget, et le bloc cms sera ajouté à votre page cms.

Il insérera le code, qui sera comme ci-dessous:

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

J'utilise cette même manière pour ajouter des blocs statiques cms à mes pages cms et cela fonctionne très bien.

Merci

Altaf Hussain
la source
Fonctionne comme un charme
Erdal G.
9

D'accord, donc moi (et vous les gars) étiez très proches. Dans la page CMS actuelle dans Conception> Conception personnalisée> Champ XML de mise à jour de la mise en page personnalisée, j'ai dû mettre

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

et avant j'essayais juste <block type="core/template" name="home_image-center" template="cms/home.phtml" />.

Maintenant ça fonctionne bien. :)

Syspect
la source
Vous pouvez également ajouter un bloc statique dans la zone de contenu comme ceci:{{block type="cms/block" block_id="home_image-center"}
gelanivishal
0

Vous voudrez vérifier les éléments suivants:

CMSPages

Recherchez ensuite l'élément de ligne qui a la maison comme valeur sous URL Key- cliquez sur la ligne pour commencer à le modifier.

Dans votre menu d'options de gauche, cliquez sur l' Contentsonglet, puis sur Show / Hide Editorpour afficher le contenu de la page en code brut.

Vous pouvez éditer la page à partir d'ici et apporter les modifications que vous désirez.

PS C'est un peu délicat, car les modifications pourraient - comme vous l'avez mentionné - devoir être apportées directement dans le fichier modèle. Mais d'après mon expérience, cette méthode fonctionne généralement à 100%.

élan
la source
J'ai essayé celui-là aussi. J'ai même mis du texte, dans le contenu, à tester, mais le texte n'a pas été affiché ... Cela me fait penser que ce n'est pas la bonne page CMS dans laquelle j'écris. Mais je veux changer la page d'accueil, et c'est la seule page CMS qui a le mot homedans son nom ...
Syspect
Utilisez-vous un thème tiers?
Moose