Вывод блока и его редактирование в админке
#1
Отправлено 01 April 2013 - 08:23 PM
Интересует такой вопрос: у меня есть номер телефона, который сейчас просто вбит в шаблоне. Каким образом можно подключить блок, чтобы редактировать этот телефон из админки? Сейчас просто через file="..." подключил его.
Буду очень признателен за ответ.
#2
Отправлено 01 April 2013 - 09:02 PM
#3
Отправлено 01 April 2013 - 09:22 PM
Сделать цикл, так же как выводятся боковые блоки или верхние, и фильтровать по ID
А можно подробней? Вот только начал работать с ShopCMS, пока не вьезжаю.
Буду признателен.
#4
Отправлено 01 April 2013 - 09:37 PM
в файле блока можно убрать формирование и вывод заголовка, оставить только содержание, а для того, чтоб выводить только содержимое блока с телефоном - нужно определить его ID и завернуть содержимое в условие типа
{if $binfo[b].bid eq "44"} .............. вывод содержания блока .............. {/if}
ID блока можно определить в процессе его редактирования в админке, в адресной строке
#5
Отправлено 01 April 2013 - 09:56 PM
создай файл аналогичный blocks.tpl.html , назови его, например, blocks2.tpl.html и подключай в шаблоне.
в файле блока можно убрать формирование и вывод заголовка, оставить только содержание, а для того, чтоб выводить только содержимое блока с телефоном - нужно определить его ID и завернуть содержимое в условие типа{if $binfo[b].bid eq "44"} .............. вывод содержания блока .............. {/if}
ID блока можно определить в процессе его редактирования в админке, в адресной строке
Создал блок в админке. У него id 28.
Далее подключаю файл, в котром данный код:
{if $binfo[b].bid eq "28"} {if $binfo[b].html eq 1}{include file="blocks/`$binfo[b].url`" blocknum=$smarty.section.b.index}{else}{$binfo[b].content}{/if} {/if}
Но почему-то не работает
#6
Отправлено 01 April 2013 - 10:02 PM
а секцию куда дел ?почему-то
{section name=b loop=$binfo} {if $binfo[b].bid eq "28"} {$binfo[b].content} {/if} {/section}так попробуй
и в индексе где подключаешь, binfo не забудь.
#7
Отправлено 01 April 2013 - 10:08 PM
{include file="blocks/telephone_main.tpl.html" loop=$binfo}
И в этом файле:
{section name=b loop=$binfo} {if $binfo[b].bid eq "28"} {$binfo[b].content} {/if} {/section}
Но работать не хочет
Всё, понял где тупил... В индексе так нужно было делать:
{include file="blocks/telephone_main.tpl.html" binfo=$top_blocks}
Dbus, спасибо большое за помощь!
#8
Отправлено 01 April 2013 - 10:10 PM
#9
Отправлено 01 April 2013 - 10:30 PM
для "спасибо" кнопка есть
"Вы исчерпали лимит положительных оценок на сегодня"
Завтра обязательно скажу "Спасибо"
#10
Отправлено 02 April 2013 - 12:48 AM
INSERT xxxx_settings SET settings_groupID=2, settings_constant_name='CONF_MY_TEL', settings_value='+7 (495) 123-4567', settings_title='My favorite number', settings_description='this is description', settings_html_function='setting_TEXT_BOX(0,', sort_order=99;и получаем в админке в "Основные настройки" еще одно поле настроек с телефоном. Ну а используем его как любую константу из админки - {$smarty.const.CONF_MY_TEL}
PS. settings_groupID задает, в какой раздел поместить настройку константы. 2 - основные настройки, 3 - настройки фотографий, 4 - партнерская программа.
settings_html_function - варианты можно посмотреть в setting_constants.sql.Для текстового поля - как показано.
Остальное по вкусу, просто текстовые поля и номер сортировки.
#11
Отправлено 02 April 2013 - 09:54 AM
Мне показалось, что не особо разбирающемуся человеку все-таки проще обьяснить на примере готового блока, чем городить запросы к бдВот нагородили-то
#12
Отправлено 02 April 2013 - 10:10 AM
Ну, тут же не детский сад . Так оптимальнее. Намного меньше лишнего кода. Один запрос, после чего получаем готовое поле задания телефона в админке и константу с телефоном для использования в любом месте сайта.Мне показалось, что не особо разбирающемуся человеку все-таки проще обьяснить на примере готового блока, чем городить запросы к бд
#13
Отправлено 02 April 2013 - 04:06 PM