Добавить статический блок cms на домашней странице

25

Я читал разные статьи об этом, и некоторые говорят, что все это можно сделать из панели администратора, другие говорят, что я должен добавить код в свой макет и в файлы шаблонов. Ну ничего не работает ...

  1. Я создал статический блок из admin> CMS> статические блоки с идентификатором home_image-center
  2. Нашел шаблон app / design / frontend / enterprise / my_theme / template / cms / home.phtml и там, где я хочу, чтобы блок стоял, я написал этот код:

    <div>

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

    </div>

  3. В admin> CMS> Pages открыли страницу с именем homeи на вкладке « Дизайн » в поле « Обновление пользовательского макета» в поле XML я добавил этот код: <block type="core/template" name="home_image-center" template="cms/home.phtml" />между referenceтегами.

Я поместил некоторый текст в содержимое статического блока, просто чтобы увидеть, будет ли он показываться, но это не так. Моя конечная цель - поместить этот блок туда и сделать его доступным, чтобы в нем было статичное изображение или текст, который можно изменить в любое время из серверной части.

Syspect
источник

Ответы:

26

Я могу быть совершенно неправ, но вы можете назвать это так

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

в cms -> homepage-> content: в этом клике покажите / спрячьте редактор мимо кода выше это работает

Pawankumar
источник
1
Я попробовал и ваше suggenstion и {{block type="cms/block" block_id="home_center_image" template="cms/content.phtml"}}... и это не работает.
Syspect
вы пишете блок и шаблон оба не работают, вы можете позвонить по-разному, он будет работать как файл шаблона вызова {{block type = "core / template" template = "catalog / product / form-top.phtml"}} после вызова как блок {{block type = "cms / block" block_id = "home_image-center"}}
Pawankumar
добро пожаловать kalpesh :)
Pawankumar
6
Начиная с Magento Comunity 1.9.2.2 (или Enterprise Edition 1.14.2.2), вы должны убедиться, что cms / block разрешен в System => Permissions => Blocks. Вы можете прочитать больше на dudesquare.nl/blog/2015/10/31 /…
Stelian
1
Этот способ также работает, если вы добавляете cms/blockв Систему -> Разрешения -> Блоки
Василий Бурлаку
12

Это поздний ответ, но я поделюсь. Это правда, что вы можете сделать все это от администратора. Вы можете добавить любой статический блок на любую страницу CMS непосредственно от администратора в качестве виджета. Откройте страницу CMS и затем нажмите на вкладку контента. Вверху нажмите кнопку Вставить виджет ... У вас будет следующее окно.

введите описание изображения здесь

В раскрывающемся списке выберите CMS Static Block. Тогда у вас будет следующее окно.

введите описание изображения здесь

Теперь выберите любой пользовательский шаблон, в противном случае оставьте его по умолчанию и нажмите кнопку «Выбрать блок ...». В другом всплывающем окне у вас будет полный список блоков, как показано ниже.

введите описание изображения здесь

Выберите нужный блок, и окно закроется. Теперь в окне вставки виджета, нажмите на виджет вставки, и блок cms будет добавлен на вашу страницу cms.

Он вставит код, который будет выглядеть так:

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

Я использую этот же способ для добавления статических блоков CMS на мои страницы CMS, и он работает нормально.

Спасибо

Альтаф Хуссейн
источник
Работает как шарм
Эрдал Г.
9

Правильно, поэтому я (и вы, ребята) были очень близки. На текущей странице CMS в поле « Дизайн»> «Пользовательский дизайн»> «Обновление пользовательского макета» в поле « XML» мне пришлось поместить

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

и прежде чем я попробовал просто <block type="core/template" name="home_image-center" template="cms/home.phtml" />.

Сейчас работает нормально. :)

Syspect
источник
Вы также можете добавить статический блок в области контента, как это:{{block type="cms/block" block_id="home_image-center"}
gelanivishal
0

Вы хотите проверить следующее:

CMSPages

Затем найдите элемент строки, у которого в качестве значения находится homeURL Key - щелкните строку, чтобы начать ее редактирование.

В левом меню параметров перейдите на Contentsвкладку, затем нажмите, Show / Hide Editorчтобы просмотреть содержимое страницы в необработанном коде.

Вы можете редактировать страницу отсюда и вносить изменения, которые вы хотите.

PS Это немного сложно, так как изменения, как вы упомянули, могут быть внесены непосредственно в файл шаблона. Но из моего опыта этот метод обычно работает на 100%.

лось
источник
Я тоже это попробовал. Я даже поместил в текст только текст, чтобы проверить, но текст не был показан ... Это заставляет меня думать, что это не та страница CMS, в которую я пишу. Но я хочу изменить домашнюю страницу, и это единственная страница CMS, в названии которой есть слово home...
Syspect
Вы используете стороннюю тему?
Лось