{php} $inPage = cmsPage:getInstance();
if ($inPage->countModules('modules_position') $inPage->printModules('modules_position'); {/php}
Страница начинает выдавать либо неверные данные, либо вообще ничего. Как такой код можно переписать под 1.10.3?
ничего не отключено, не дезинформируйте людей.smarty надо настроить, в новой версии smarty php по умолчанию отключен
такая конструкция в шаблонах не работает.if ($inPage->countModules('modules_position') $inPage->printModules('modules_position'); {/php}
получать модули нужно на этапе template.php
Работает, если вышеупомянутый код расположен последним:
такая конструкция в шаблонах не работает.
Тоже был бы очень благодарен за инстукцию по выводу позиции в нужном месте компонента а не только в конце.получать модули нужно на этапе template.php
Заранее спасибо!
{php}$inPage = cmsPage::getInstance(); if($inPage->countModules('modules_position'))$inPage->printModules('modules_position');{/php}
Можно сделать короче:
{php}cmsPage::getInstance()->printModules('modules_position');{/php}
Только я не в смарти вывожу…
Я так понимаю, внешний скрипт в статьи вставляете? А если в модуль, — работает?
Похожая проблема — instantcms.ru/forum/thread16832-1.html
Только я не в смарти вывожу...
Перепроверял ещё раз.
Чистая 1.10.3, позиция сразу под заголовками, результаты:
— при просмотре статьи работает (вставлено в com_content_read.tpl)
— при просмотре раздела (com_content_view.tpl, под описанием раздела) — под списком разделов появляются несколько статей
Позиция на странице записи каталога — отваливаются картинки
на странице раздела — всё валится:
На главной каталога, всё нормально (вставлял и над списком разделов и ниже его).
На главной магазина (instantshop, последнее обновление) — ошибка:
Warning: Smarty error: unable to read resource: "com_inshop_items.tpl" in Z:\home\shop_demo.ua\www\includes\smarty\libs\Smarty.class.php on line 1095
Жаль, дело нужное...
p.s. вчера пытался получить помощь у довольно неплохого програмера из местных, так он мне говорит что я идиот, потому что этого всего не может быть
Из-за чего такой глюк? Глюк из-за того, что смарти-экземпляр не создается отдельно на каждую страницу, а используется общий. Поэтому при попытке вызвать loadModulesForMenuItem() происходит рендеринг всех активных модулей, после чего выбираются только те, которые подходят к данной процедуре (будь то countModules или printModules). Соответственно все переменные смарти на момент выхода из куска кода {php}$inPage->printModules('top'){/php} инициализированы уже другими переменными, которые могут перекрывать переменные текущего шаблона…
Прописал позицию для вывода модулей в position.txt, пробую выводить модуль в модальном окне из универсального каталога из сom_catalog_item.tpl и com и com_catalog_view.tpl, — не получается.
Мб кто выручит за вознаграждение? + с меня подробное описание что было сделано
Так написали бы какая задача ставилась, что сделано… люди б помогли. Как угадать что именно вам нужно? Уже по ходу непонятки: catalog_item.tpl и com и com_catalog_view.tpl не модульные файлы. Или в них позиция прописана?
Реквестирую проблему.
Прописал позицию для вывода модулей в position.txt, пробую выводить модуль в модальном окне из универсального каталога из сom_catalog_item.tpl и com и com_catalog_view.tpl, — не получается.
Мб кто выручит за вознаграждение? + с меня подробное описание что было сделано
Требовалась галерея услуг на базе универсального каталога. У каждой записи должно быть 2 кнопки "Написать нам" и "Заказать звонок", при нажатии на которые, должно всплыть модальное окно с модулями, в которых вставлены формы из Конструктора форм. Пример того что должно получитсья — тут
Что я делаю. Я ищу похожие решения в сообществе. Нашел вот тут, у пользователя Dim@sik.
Предлагается добавить стиль
.modalDialog { position: fixed; font-family: Arial, Helvetica, sans-serif; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0,0,0,0.8); z-index: 99999; -webkit-transition: opacity 400ms ease-in; -moz-transition: opacity 400ms ease-in; transition: opacity 400ms ease-in; display: none; pointer-events: none; } .modalDialog:target { display: block; pointer-events: auto; } .modalDialog > div { width: 400px; position: relative; margin: 10% auto; padding: 5px 20px 13px 20px; border-radius: 10px; background: #fff; background: -moz-linear-gradient(#fff, #999); background: -webkit-linear-gradient(#fff, #999); background: -o-linear-gradient(#fff, #999); } .close { background: #606061; color: #FFFFFF; line-height: 25px; position: absolute; right: -12px; text-align: center; top: -10px; width: 24px; text-decoration: none; font-weight: bold; -webkit-border-radius: 12px; -moz-border-radius: 12px; border-radius: 12px; -moz-box-shadow: 1px 1px 3px #000; -webkit-box-shadow: 1px 1px 3px #000; box-shadow: 1px 1px 3px #000; } .close:hover { background: #00d9ff; }
zakaz-zvonka zakaz-zvonka1 zakaz-zvonka2 zakaz-zvonka3 zakaz-zvonka4 и т.д
<a href="#openModal{$item.id}">Обратный Звонок</a> <div id="openModal{$item.id}" class="modalDialog"> <div> <a href="#close" title="Закрыть" class="close">X</a> <p><?php $this->printModules('zakaz-zvonka{$item.id}'); ?></p> </div></div>
zakaz-zvonka zakaz-zvonka1 zakaz-zvonka2 zakaz-zvonka3 zakaz-zvonka4 и т.д.
printModules('zakaz-zvonka2'); ?>
Что я делаю не так. Я идиот?:)