Как отредактировать шаблон содержимого html?
Вот пример со страницей о программе:
<div class="col-main">
<div class="std">
//First line of content entered into UI content editor
Когда я смотрю в свои 2 столбца - справа.phtml:
<div class="col-main">
<?php echo $this->getChildHtml('content') ?>
Итак, это говорит мне, что этот <div class="std">
находится где-то в каком-то шаблоне. Я попытался просмотреть весь каталог Magento и найти только ссылки в разделе product/view.phtml, list.phtml и description.phtml. Ни один из них не используется для страниц CMS, и поэтому я не знаю, где я могу найти эти шаблоны контента.
Конечная цель - найти, где я могу отредактируйте шаблоны, чтобы удалить нежелательные элементы, подобные этому.
2 answers
Ответ содержится в этом фрагменте XML внутри base/default/layout/cms.xml
:
<cms_page translate="label">
...
<reference name="content">
...
<block type="page/html_wrapper" name="cms.wrapper" translate="label">
...
<action method="setElementClass"><value>std</value></action>
<block type="cms/page" name="cms_page"/>
</block>
</reference>
</cms_page>
Блок-оболочка добавляет <div>
, который вы ищете, и setElementClass
метод устанавливает класс std
на нем.
ОБНОВЛЕНИЕ
Чтобы удалить оболочку "правильным" способом в файле local.xml
вашей пользовательской темы, вам необходимо переместить блок cms_page
непосредственно в блок content
с помощью unsetChild
/remove
процедура, а затем remove
блок cms.обертки`
Просто чтобы помочь некоторым людям, которые не знают, как добавить код. У нас есть 2 варианта
Вариант 1
Local.xml как сказал Тим, смотрите ссылку, чтобы узнать, как: https://stackoverflow.com/questions/11103834/how-to-remove-std-div-in-magento
Вариант 2
Вставьте этот код в макет cms, в котором вы хотите отключить тег div class="std":
<reference name="content">
<action method="unsetChild">
<alias>cms.wrapper</alias>
</action>
<block type="cms/page" name="cms_page"/>
</reference>