Добрый вечер, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 SX CMS / Техническая помощь
         Новый блок

Похожие темы

Новый блок


События Четверг, 21.06.2012, 04:05

icefox

Группа: Пользователь
Cообщений: 2
Регистрация: 20.06.2012
Город: kharkov
Доброе время суток. У меня такой вопрос (я вроде и поиском пользовался не нашел (и на сайте у себя пытался поискать не смог найти))
Как мне добавить новый "блок" то есть имеется в виду блок типа "сейчас на сайте" или "поиск" только со своим контентом, например блок "праздники" а туда добавить код с праздниками сегодня и завтра (скрипт с calend) и разместить его соответственно с лева или с права
Простите если непонятно изъясняюсь просто новичок в этом. Заранее спасибо за поддержку и понимание!

Пользователь офлайн
События Четверг, 21.06.2012, 20:07

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Самый простой способ сделать такой блок не затрагивая логики движка, это через инклюд.

Создаете например в папке theme/standard/other, файл new_panel.tpl с содержимым:

PHP-код
{* У каждого блока должно быть уникальное названиениже вместо new_panel нужно вписать название текущего шаблона *}
{
assign var=panel value='new_panel'}

<
script type="text/javascript">
<!-- 
//
$(document).ready(function() {
  $(
'div.toggles_{$panel}').toggleElements( { 
    
fxAnimation:'slide'fxSpeed:'normal'className:'togglerboxes'onClick:Panel_CALNE_Closer,onHide:Panel_CALNE_Opener });
  });
  function 
Panel_CALNE_Opener() { $.cookie('{$panel}','opened', { expires30,path'{$cookiepath}' }); }
  function 
Panel_CALNE_Closer() { $.cookie('{$panel}''', { expires30,path'{$cookiepath}' }); }
//-->
</script>
<
div class="round">
  <
div class="toggles_{$panel}{if !isset($smarty.cookies.$panel) || $smarty.cookies.$panel != 'opened'} opened{/if}" title="Название панели">
    <
div class="boxes_body">

    
Здесь ваш контент

    
</div>
  </
div>
</
div>


И вставляете в нужное место в шаблоне находящемся в папке theme/standard/page, в этой папке находятся шаблоны отвечающие за сбор блоков на странице, например в шаблон main.tpl.
Код вставки
PHP-код
{include file="$incpath/other/new_panel.tpl"}


Вставляете например ниже
PHP-код
{$CounterDisplay}

И ваша новая панелька выведется под панелью СТАТИСТИКА


Благодарности santeh, icefox
Пользователь офлайн
События Вторник, 28.08.2012, 13:31

Kurman

Группа: Пользователь
Ранг: Продвинутый
Cообщений: 237
Регистрация: 26.10.2009
Город: Moscow
Сделал новый блок как опсиано выше и поместил в него код счетчика яндекс метрики.
В результате белая страница.

В режиме отладки показывает следующую ошибку:
Спойлер
Цитата
Системное сообщение:
Иключение PHP!
Текст: exception 'SmartyCompilerException' with message 'Syntax Error in template "/home/root/public_html/site.ru/theme/standard/other/s4et4iki.tpl" on line 21 "style="width:88px; height:31px; border:0;" alt="Яндекс.Метрика" title="Яндекс.Метрика: данные за сегодня (просмотры, визиты и уникальные посетители)" onclick="try{Ya.Metrika.informer({i:this,id:10078328769,type:0,lang:'ru'});return false}catch(e){}"/></a>" - Unexpected ".", expected one of: "}" , " " , ATTR' in /home/root/public_html/site.ru/lib/smarty/sysplugins/smarty_internal_templatecompilerbase.php:656
Stack trace:
#0 /home/root/public_html/site.ru/lib/smarty/sysplugins/smarty_internal_templateparser.php(3139): Smarty_Internal_TemplateCompilerBase->trigger_template_error()
#1 /home/root/public_html/site.ru/lib/smarty/sysplugins/smarty_internal_templateparser.php(3204): Smarty_Internal_Templateparser->yy_syntax_error(59, '.')
#2 /home/root/public_html/site.ru/lib/smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(59, '.')
#3 /home/root/public_html/site.ru/lib/smarty/sysplugins/smarty_internal_templatecompilerbase.php(192): Smarty_Internal_SmartyTemplateCompiler->doCompile('{* ? ??????? ??...')
#4 /home/root/public_html/site.ru/lib/smarty/sysplugins/smarty_internal_template.php(187): Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Smarty_Internal_Template))
#5 /home/root/public_html/site.ru/lib/smarty/sysplugins/smarty_internal_templatebase.php(164): Smarty_Internal_Template->compileTemplateSource()
#6 /home/root/public_html/site.ru/lib/smarty/sysplugins/smarty_internal_template.php(286): Smarty_Internal_TemplateBase->fetch(NULL, NULL, NULL, NULL, false, false, true)
#7 /home/root/public_html/site.ru/temp/compiled/1/main/9962b401dc5d127a8 14c6b81fd4adea5^fb412678d5ed7b6b607f27b79a680aedbd736bdf.file.main.tpl.php(112): Smarty_Internal_Template->getSubTemplate('/home/root/...', NULL, '9962b401dc5d127...', NULL, NULL, Array, 0)
#8 /home/root/public_html/site.ru/lib/smarty/sysplugins/smarty_internal_templatebase.php(180): content_4fe9c95000ac37_18631438(Object(Smarty_Internal_Template))
#9 /home/root/public_html/site.ru/lib/smarty/sysplugins/smarty_internal_templatebase.php(374): Smarty_Internal_TemplateBase->fetch('/home/root/...', NULL, NULL, NULL, true)
#10 /home/root/public_html/site.ru/class/class.CS.php(115): Smarty_Internal_TemplateBase->display('/home/root/...')
#11 /home/root/public_html/site.ru/index.php(39): CS->getOutFinal('/home/root/...')
#12 {main}

Добавлено Kurman: 28.08.2012, 13:31:57
Решение
Вместо того чтобы код вставлять в новый блок, из-за которого белая страница, создал новый блок в разделе Блоки и Контент и его код вставил в созданный блок по вышеописанному методу. Все работает.
Пользователь офлайн
События Вторник, 28.08.2012, 13:39

HopE

Группа: Пользователь
Ранг: Продвинутый
Cообщений: 274
Регистрация: 18.02.2010
Город: ua
да кстати как бы вот блок сделать с функционалом share42, или как вордпресс реализация кнопки под товаром или статьей или новостью вывод их вернее чтоб можно было твитнуть итд.....


Всегда так не будет, все меняется...
ЕЛЕОН Все о вышивке и одежде.
Ризница магазин церковного шитья.
Пользователь офлайн
События Вторник, 28.08.2012, 14:03

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Цитата
Сделал новый блок как опсиано выше и поместил в него код счетчика яндекс метрики.
В результате белая страница.

В режиме отладки показывает следующую ошибку:

На самом деле это капризы смарти и в данной ситуации помогло бы замена { на {ldelim} и } на {rdelim}


Благодарности Kurman
Пользователь офлайн
События Вторник, 28.08.2012, 19:27

Kurman

Группа: Пользователь
Ранг: Продвинутый
Cообщений: 237
Регистрация: 26.10.2009
Город: Moscow
Status-X,
А для индексации в поисковиках разница между размещением как обыкновенный блок системы, или как вы описали выше в обход системы имеет какое-либо значение?

Пытаюсь решить как вставить текст на главную, чтобы было правильнее.

Пользователь офлайн
События Вторник, 28.08.2012, 20:04

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Цитата
Автор: Kurman
Status-X,
А для индексации в поисковиках разница между размещением как обыкновенный блок системы, или как вы описали выше в обход системы имеет какое-либо значение?

Пытаюсь решить как вставить текст на главную, чтобы было правильнее.



Без разницы


Пользователь офлайн


Похожие темы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте

Пользователей: 0, Гостей: 3

Поисковые боты: 215
Bot(186), oBot(23), BingBot(4), Googlebot, Google
 Статистика форума

  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: wonad81290
 Дни рождения

Hazard (34)
Copyright © 2009 - 2024 SX All rights reserved | Powered by SX CMS 1.06 UTF | Контакты