Виджет в шаблон?
Можно ли вставить виджет прямо в шаблон кодом
Посетитель Сообщений: 520 |
Если кто делал или знает, как? | ||
Посетитель Сообщений: 1694 |
Код PHP: Это код из шаблона вообще то).
| ||
Реклама
![]() |
|
||
Посетитель Сообщений: 520 |
Lora:
Спасибо Код PHP: Это код из шаблона вообще то).![]() | ||
Посетитель Сообщений: 520 |
Я имел ввиду в шаблон для отдельной страницы. На главной понятно в шаблон ставишь работает. Попробовал вставить в шаблон отдельной страницы не пашет ![]() | ||
Посетитель Сообщений: 578 |
Рачей:
Как минимум, делаете "не так" то, что не приводите конкретного кода своего варианта (что куда вставляете).Попробовал вставить в шаблон отдельной страницы не пашет Может что не так делаю? В Двойке нет возможности находу добавлять позиции виджетов на страницу. Зато есть возможность указать другой "скелет" (файл основного шаблона) с помощью метода cmsTemplate->setLayout($layout)/ Пример использования этого метода можете посмотреть при подключении шаблона Админки в /system/controllers/admin/frontend.php Если у Вас шаблон main.tpl.php очень навороченный, то копировать его несколько раз для разных страниц, а потом поддерживать всё это в актуальном виде может оказаться затруднительно. Тогда проще добавить все нужные позиции виджета сразу в main.tpl.php. | ||
Посетитель Сообщений: 520 |
мне нужно вставить виджет в отдельную страницу контента.. то есть не в общий шаблон, а в страницу для одного вида контента. совет вставить <?php $this->widgets('top', false, 'wrapper_plain'); ?> не дал результат. если это вставить в общий шаблон, работает... я в схеме вынес в низ эту позицию шаблона что бы туда виджет можно было накинуть.. на главной работает в теле шаблона одного вида контента нет... вот задача, как его туда пристроить!? я могу там вывести по схеме общего шаблона, но мне надо вывести между картинкой (превью) и текстом... через шаблон как таковой не получится.. надо как-то в тело шаблона вкроить | ||
Посетитель Сообщений: 2180 |
| ||
Посетитель Сообщений: 520 |
шэльдэ бердэ бельдэ:
спасибо! то что надо | ||
Посетитель Сообщений: 578 |
Рачей:
Всё правильно. Виджеты обрабатываются только один раз после того, как готовится страница контента. Это сделано для того, чтобы виджеты могли работать с данными, полученными от контроллера, обрабатывающего текущую страницу сайта. Чтобы это изменить, нужно переделать подготовку и вывод виджетов, что довольно сложно.<?php $this->widgets('top', false, 'wrapper_plain'); ?> не дал результат Из готовых решений я видел Поле - позиция для виджетов. Как оно работает и подойдёт ли Вам - не знаю. Минусы этого решения его автор шэльдэ бердэ бельдэ честно описал в своём посте. Насколько я понимаю, без правок в ядре такое решение будет дважды обрабатывать (но не выводить) не только один этот виджет, а вообще все виджеты страницы, что приводит к лишним тормозам. А если таким образом на странице выводится несколько полей с виджетами, то, видимо, все виджеты будут пересчитываться многократно. Для себя я нашёл такой, может не сильно красивый, но рабочий вариант. 1. Как и в поле от шэльдэ бердэ бельдэ создал в схеме scheme.html новую позицию, чтобы можно было размещать туда виджеты в Админке: Код PHP:
2. Добавил в метод cmsCore->runWidgets() возможность вывода только виджетов в указанной позиции:
Код
3. В шаблоне записи (или любом другом шаблоне) прописываю код вывода виджетов в желаемой позиции, что-то типа такого: Код PHP:
Это решение, возможно, менее универсально, чем поле для вывода виджета, но имеет большой плюс: виджеты страницы, кроме тех, которые выводятся в этой позиции, просчитываются только один раз.
| ||
Посетитель Сообщений: 520 |
WebMan:
это правильнееЭто решение, возможно, менее универсально, чем поле для вывода виджета, но имеет большой плюс: виджеты страницы, кроме тех, которые выводятся в этой позиции, просчитываются только один раз. | ||
Посетитель Сообщений: 2 |
Спасибо! ... то что надо. Может кому пригодится визуальный пример (см. под спойлером)
Спойлер
Готов к конструктивной критике! Если чем то не угодил... говори по делу! | ||
Посетитель Сообщений: 578 |
Спасибо за наглядность, vadimilin. З.Ы. Спрячьте свою почту в профиле, а то спам-боты замучают. |
В начало страницы |
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.