Проблема с шаблонами Smarty в 1.10.3

#16 16 марта 2014 в 16:09

Что я делаю не так. Я идиот?:)

ph3no

<p><?php $this->printModules('zakaz-zvonka{$item.id}'); ?></p>

ph3no

{php}cmsPage::getInstance()->printModules('modules_position');{/php}

lokanaft
#17 16 марта 2014 в 16:23

zakaz-zvonka{$item.id}

и каким тогда образом вы проверяете соответствие названий позиций в positions.txt и в месте их вывода?
#18 16 марта 2014 в 16:40
lokanaft, спасибо вам большое за отклик, но, к сожалению не сработало.
Олег Васильевич я,
Спалю пациента, например есть у меня в Универсальном каталоге запись11 (item11) catalog/item11.html — подробный вывод.

Ссылка "Обратный Звонок" под ценой. В файле com_catalog_item.tpl сейчас прописано, с правкой lokanaft

  1. <a href="#openModal{$item.id}">Обратный Звонок</a>
  2. <div id="openModal{$item.id}" class="modalDialog">
  3. <div>
  4. <a href="#close" title="Закрыть" class="close">X</a>
  5. <p>{php}cmsPage::getInstance()->printModules('zakaz-zvonka{$item.id}');{/php}</p>
  6. </div></div>
Т.е во всплывающем окне должна сейчас показываться позиция zakaz-zvonka11, на которую я уже создал модуль с формой из Конструктора форм.
#19 16 марта 2014 в 16:49

Т.е во всплывающем окне должна сейчас показываться позиция zakaz-zvonka11

То что вы говорите шаблону вывести позицию zakaz-zvonka{$item.id} понятно.
Вопрос в том каким образом вы уравниваете $item.id и число следующее за zakaz-zvonka в positions.txt ?
Вы для каждой записи каталога создаёте отдельную позицию???
#20 16 марта 2014 в 16:52
Олег Васильевич я, да, для каждой записи каталога нужны отдельные позиции, т.к формы, которые должны выводиться в позициях будут различаться.
#21 16 марта 2014 в 16:56
С небольшой доработкой поможет это или это + чтобы не изобретать велосипедов уже подключенное к системе это.
#22 16 марта 2014 в 19:15
Pasha, Павел, либо я не разобрался, либо не осилил… но в первом варианте реализовано с помощью фильтров, которые можно применить либо в статьях, либо в модулях. Второй плагин используется тоже в статях, с третьим вообще ничего не понятно, однозначно при нем нужно что-то колхозить.
Спасибо за советы, еще попробую разобраться с предложенными вариантами, но все-таки склоняюсь к своему способу.
#23 16 марта 2014 в 19:57
Весь вопрос в том как здесь:
  1. {php}cmsPage::getInstance()->printModules('zakaz-zvonka{$item.id}');{/php}
получить эту самую $item.id
Помнится, на офсайте смарти встечал нечто подобное. Поищите.
Но Pasha всегда знает что говорит.
#24 16 марта 2014 в 20:07
Олег Васильевич я, о да! выставил вручную
  1. {php}cmsPage::getInstance()->printModules('zakaz-zvonka11');{/php}
— работает как нужно!

То есть у меня не срабатыает $item.id, вы правы! Спасибо вам добрый человек, уже легче!
#25 16 марта 2014 в 20:28


уже легче!

ph3no
Ну это кошерный выход. Подойдет только если этих самых позиций немного. Если так, то можно напаковать этих поциций в шаблон с условиями. Пример:
  1. {if $item.id==1}
  2. <a href="#openModal{$item.id}">Открыть модальное окно{$item.id}</a>
  3. <div id="openModal{$item.id}" class="modalDialog">
  4. <div>
  5. <a href="#close" title="Закрыть" class="close">X</a>
  6. {php}cmsPage::getInstance()->printModules('modules_position1');{/php}
  7. </div>
  8. </div>
  9. {/if}
  10.  
  11. {if $item.id==2}
  12. <a href="#openModal{$item.id}">Открыть модальное окно{$item.id}</a>
  13. <div id="openModal{$item.id}" class="modalDialog">
  14. <div>
  15. <a href="#close" title="Закрыть" class="close">X</a>
  16. {php}cmsPage::getInstance()->printModules('modules_position2');{/php}
  17. </div>
  18. </div>
  19. {/if}
Не знаю насколько правильно так поступать, но работать дожно.
#26 16 марта 2014 в 21:04
Олег Васильевич я, Лично для меня этот вариант подходит, т.к очень мало записей в универсальном каталоге. Вообщем мою проблему можно считать решенной. Жду в лс реквизиты для доната.
#27 16 марта 2014 в 21:08


Жду в лс реквизиты для доната.

ph3no
Да бросьте, спасибо в этом случае явно достаточно.
#28 18 марта 2014 в 22:46
а как можно сделать тоже самое только с ajax подгрузкой модуля на сайт, так как не нужен он к индексации в теле страницы? например меню каталога подгрузить в модальное окно после клика на ссылку меню.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.