Переместить часть кода с поля content в шаблон
В докусентации встретил такую интересную штуку
{block 'content'}
<h3>{$_modx->resource.pagetitle}</h3>
<div class="jumbotron">
{parent}
</div>
{/block}
но она я так понял все равно ведет к тому что надо создавать новый шаблон.так же есть такая вот крутая штука
cssToHead - регистрация CSS кода в шапке страницы
htmlToHead - регистрация произвольного HTML в шапке страницы
htmlToBottom - регистрация произвольного HTML в подвале страницы
jsToHead - регистрация javascript файла в шапке страницы. Если передать параметром true, то можно регистрировать сразу код.
jsToBottom - регистрация javascript в подвале страницы. Если передать параметром true, то можно регистрировать сразу код.
но и она мне не особо подходит.Может кто еще что подскажет?
Комментарии: 13
{if $_modx->resource.id == 1}
В документе с id 1 выводим что хотим
{/if}
Или я не правильно понял вопрос?
нет не то, у меня может быть 1000 страниц и мне на каждую такое условие писать?
Мне как то с помощью поля контент добавить в определенные точки шаблона куски кода, к примеру заголовок обрамить в какой то див, добавить где то css, или в футере добавить карту или дополнительный номер телефона
Мне как то с помощью поля контент добавить в определенные точки шаблона куски кода, к примеру заголовок обрамить в какой то див, добавить где то css, или в футере добавить карту или дополнительный номер телефона
Обычно для страниц не содержащих хлебных крошек, сайдбара и прочего, создается один шаблон и используется на таких страницах.
Либо один базовый шаблон, который расширяется другими шаблонами, как указано у вас в топике.
В базовом шаблоне пишете:
Условием, например, можно и на id шаблона проверять.
Либо один базовый шаблон, который расширяется другими шаблонами, как указано у вас в топике.
В базовом шаблоне пишете:
{block 'content'}
<h3>{$_modx->resource.pagetitle}</h3>
<div class="breadcrumbs">
<ul>
<li><a href=""></a><li>
</ul>
</div>
{/block}
И если у вас всего одна/две страницы где не нужны хлебные крошки и заголовок, либо другой html код, пишете в новом шаблоне примерно так:{extends 'template:_base.tpl'}
{block 'content'}
{if $_modx->resource.id == 5}
Другой контент
{else}
{parent}
{/if}
{/block}
И да, новый шаблон придется создать, иначе у вас получится полная каша в которой, вы со временем, сами и запутаетесь.Условием, например, можно и на id шаблона проверять.
ну если это будет в блоке контент нужной мне страницы не думаю что там будет где путаться, а вот с кучей шаблонов мне кажется точно запутаться можно. Вот я и ищу способ решить данный пример. Кстати ваш пример в таком случае не работает((
Может еще какой то способ есть?
Может еще какой то способ есть?
Мой пример 100% будет работоспособен если у вас структура расширения/унаследования шаблонов будет такой, как описана в документации
У вас один базовый шаблон(_base.tpl), который вы расширяете другими, необходимыми для вас. Для Новостей: _news.tpl, для страниц контактов и пр: _page.tpl.
Подойдет ли это для вашей структуры сайта – не знаю. У меня были такие же задачи, как и описанные у вас. Я именно так, как написал, решал их.
У вас один базовый шаблон(_base.tpl), который вы расширяете другими, необходимыми для вас. Для Новостей: _news.tpl, для страниц контактов и пр: _page.tpl.
Подойдет ли это для вашей структуры сайта – не знаю. У меня были такие же задачи, как и описанные у вас. Я именно так, как написал, решал их.
А если у меня 1000 таких страниц, на каждый шаблон создавать?
1000 разных страниц с разной разметкой? Я с таким не встречался…
Да и если отталкиваться от вашего описания в посте, к примеру хлебные крошки, они же у вас везде имеют одну разметку. Вам нужно или выводить их или нет. Это все делается в шаблоне, ведь хлебные крошки у вас там?
У меня сложилось впечатление (возможно не верное), что вы в поле контента каждой страницы храните весь HTML код, включая сайдбар, хлебные крошки, футеры, хедеры и пр.
Да и если отталкиваться от вашего описания в посте, к примеру хлебные крошки, они же у вас везде имеют одну разметку. Вам нужно или выводить их или нет. Это все делается в шаблоне, ведь хлебные крошки у вас там?
У меня сложилось впечатление (возможно не верное), что вы в поле контента каждой страницы храните весь HTML код, включая сайдбар, хлебные крошки, футеры, хедеры и пр.
Нет не весь, есть основной шаблон в который я могу добавить контент, но в зависимости от этого контента может подцеплятся дополнительный html в любую из частей базового шаблона. Методом добавления, или замены.
Ваш вопрос начинает приобретать абстрактный характер. Конкретики нет.
Вам нужно изменять сам шаблон страницы (футер, хедер, сайдбар) или контент, тот который вы вводите в поле «Содержимое»?
Первая: (заголовок обрамить в какой то див, добавить где то css) можно решить с помощью fenom условий, как писалось выше.
Вторая: (в футере добавить карту или дополнительный номер телефона) решается с помощью дополнительных полей (ТВ).
Вам нужно изменять сам шаблон страницы (футер, хедер, сайдбар) или контент, тот который вы вводите в поле «Содержимое»?
Мне как то с помощью поля контент добавить в определенные точки шаблона куски кода, к примеру заголовок обрамить в какой то див, добавить где то css, или в футере добавить карту или дополнительный номер телефонаЗдесь вами описаны две разные задачи.
Первая: (заголовок обрамить в какой то див, добавить где то css) можно решить с помощью fenom условий, как писалось выше.
Вторая: (в футере добавить карту или дополнительный номер телефона) решается с помощью дополнительных полей (ТВ).
Вот ещё раз. Есть блоки в феноме, с помощью них можно взять заголовок и заменить его с дополнительно добавленным кодом, если мы хотим в футаре что то изменить то добавляем в нем блок и зомовываем в него контент. Решение то что надо но работает оно только в новом шаблоне. А можно ли это контролировать с поля контент или есть что то подобное для таких действий?
Контнт для контента, используйте TV для изменений на странице.
У меня нет возможности плодить тв поля/шаблоны для задач которые могут понадобится всего один раз… проще в базовом шаблоне наплодить контейнеры куда можно засунуть то что мне надо
А в чем разница между новым и старым шаблоном? Модифицируйте старый шаблон, добавив в него теги:
Или вы шаблоном называете не то, что им является в понимании modx…
Еще один выход: создать новый шаблон (в котором у вас все работает) под базовый, а у старых ресурсов смените templates на вновь созданный. Массово поменять шаблон ресурсам можно или ручками в бд, или дополнением Batcher.
{block 'content'}...{/block} {block 'header'}....{/block}
А далее уже все разруливайте.Или вы шаблоном называете не то, что им является в понимании modx…
Еще один выход: создать новый шаблон (в котором у вас все работает) под базовый, а у старых ресурсов смените templates на вновь созданный. Массово поменять шаблон ресурсам можно или ручками в бд, или дополнением Batcher.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.