@prokopov-vi

Как правильно загрузить шаблон?

Нужно загрузить и отобразить страницу за шаблоном! Страница загружается, но не отображается содержимое шаблона. (Magento Full Release - ver 1.9.2.4)

Сначала создаю в /app/design/frontend/ свою директорию news в ней newstheme а в ней /layout/vitaliydev_news.xml:

<?xml version="1.0" encoding="UTF-8"?>
<layout>
    <vitaliydevnews_index_index>
        <reference name="content">
            <block type="core/template" template="vitaliydev_news/index.phtml"/>
        </reference>
    </vitaliydevnews_index_index>
</layout>


Потом в
/app/design/frontend/newstheme/template/vitaliydev_news/index.phtml
:

<h1>Template ews/index.phtml</h1>

Часть конфига где подключаю layout:

<layout>
        <updates>
            <vitaliydevnews>
                <file>vitaliydev_news.xml</file>
            </vitaliydevnews>
        </updates>
    </layout>


И actionв Контролере:

public function indexAction()
    {
       $this->loadLayout();
        $this->renderLayout();
    }


Страница загружается но не отображается контент шаблона!

Что я делаю не так ? Если можно - прошу подсказки !
  • Вопрос задан
  • 197 просмотров
Пригласить эксперта
Ответы на вопрос 1
Возможно это и простая опечатка, но путь к теме неверен:
app/design/frontend/newstheme/[тут пропущено название темы]/template/vitaliydev_news/index.phtml


UPDATE:
Проверьте, включен ли у вас шаблон в настройках Система - Конфигурация - Общие - Дизайн (или Система - Дизайн)

Путь №2: Попробуйте загружать шаблон страницы через модуль.
Процесс загрузки страницы по шаблону можно разложить на несколько пунктов:

1. Подключение в настройках модуля (config.xml):
<config>
	<global>
	<!-- тут блоки, модели, хелперы -->
	</global>
	<frontend>
        <routers>
            <уникальный_нод>
                <use>standard</use>
                <args>
                    <module>Название_Модуля</module>
                    <frontName>ссылка_для_загрузки</frontName>
					<!-- домен/язык_если_есть/ссылка_для_загрузки/контроллер-->
					<!-- в вашем примере домен/vitaliydevnews/index, или просто домен/vitaliydevnews/-->
                </args>
            </уникальный_нод>
        </routers>
        <layout>
            <updates>
                <уникальный_нод>
                    <file>файл обновления макета в шаблоне.xml</file>
                </уникальный_нод>
            </updates>
        </layout>
    </frontend>	
</config>


2. Добавление контроллера в app/code/local/Пространство_имен/Название_модуля/controllers/IndexController.php
public function indexAction()
		{
		   $this->loadLayout();
			$this->renderLayout();
		}


3. Добавление шаблона для макета в app/design/frontend/Пакет/Название_вашей_темы/layout/файл_обновления_макета_в_шаблоне.xml
<!-- судя по всему у вас должно быть так: app/design/frontend/news/newstheme/layout/vitaliydev_news.xml	-->
<?xml version="1.0" encoding="UTF-8"?>
<layout>	
	<уникальный_нод_index_index> <!-- использовался в настройках модуля  config.xml-->       
		<reference name="root">
			<action method="setTemplate"><template>vitaliydev_news/index.phtml</template></action>
			<!-- путь к шаблону  app/design/frontend/news/newstheme/template/vitaliydev_news/index.phtml -->
		</reference>
    </уникальный_нод_index_index>
</layout>


4. Добавление самого шаблона
app/design/frontend/news/newstheme/template/vitaliydev_news/index.phtml


5. Включение модуля в app/etc/modules/

6. Очистка кеша

7. Обновление индексов
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы