Блок "Виджет для сообществ Вконтакте"

Пытаюсь самостоятельно вставить блок с виджетом на сайт. Воспользовался вторым вариантом из 4-го пункта FAQ.

Создал блок block.vk.tpl следующего содержимого:
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?52"></script>

<!-- VK Widget -->
<div id="vk_groups"></div>
<script type="text/javascript">
VK.Widgets.Group("vk_groups", {mode: 2, wide: 1, width: "200", height: "290"}, 1535278);
</script>


Добавил вот такие строки в конфиг:
$config['block']['rule_index_blog'] = array(
        'path' => array(),
        'action'  => array( 'index', 'new'),
        'blocks'  => array('right' => array('blocks/block.vk.tpl'=>array('priority'=>150))),
        'clear' => false,
);


И получил вот такую ошибку:
Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "/xxxx/x/xxx/xxxxx/templates/skin/synio/blocks/block.vk.tpl" on line 6 "VK.Widgets.Group("vk_groups", {mode: 2, wide: 1, width: "200", height: "290"}, 1535278);" - Unexpected ": ", expected one of: "}" , " "' in /xxxx/x/xxx/xxxxx/engine/lib/external/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php:627 Stack trace: #0 /xxxx/x/xxx/xxxxx/engine/lib/external/Smarty/libs/sysplugins/smarty_internal_templateparser.php(3154): Smarty_Internal_TemplateCompilerBase->trigger_template_error() #1 /xxxx/x/xxx/xxxxx/engine/lib/external/Smarty/libs/sysplugins/smarty_internal_templateparser.php(3219): Smarty_Internal_Templateparser->yy_syntax_error(2, ': ') #2 /xxxx/x/xxx/xxxxx/engine/lib/external/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(2, ': ') #3 /xxxx/x/xxx/xxxxx/engine/lib/external/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 627


Подскажите, в чём ошибка? Что-то не так с кодом виджета, который предоставляет вКонтакте? Неправильно создан блок? Или неверные настройки? Заранее спасибо!

Решение 1 Решение ошибки.

UPD2. Видимо что-то не так с настройками вывода. На страничке остались только созданный блок (причем, какие-то проблемы с размером) и блок плагина «Twitterfeed».


Других блоков на странице нет.
Решение 2
livestreet.ru/blog/questions/11875.html#comment182295

25 комментариев

комментарий был удален
комментарий был удален
avatar
Да. Только роль не в LS, а в Smarty. Вы когда займетесь адаптивным шаблоном вплотную, ближе познакомитесь с этим замечательным шаблонизатором.
avatar
да а и так вроде уже как можно плотно с ним знаком :))) просто думал что {literal} — это для LS что то :))

в других cms не использовался Smarty
комментарий был удален
avatar
В шаблоне либо знаки "{" и "}" окружить пробелами, либо весь код виджета заключить в теги
{literal} {/literal}
  • ort
  • +1
avatar
ну вот я был прав :)
avatar
Точно, спасибо и Вам!
avatar
если только за попытку =) так как мой ответ был не совсем верен :) да и ort дал более правильный ответ и быстрей )
avatar
Как правильно оформить я уже и сам вспомнил, т.к. сталкивался с этим при установке прошлой версии. Но после обновления многое из хорошо забытого пришлось вспоминать и делать заново…
avatar
Спасибо! Сработало!
avatar
UPD2. Видимо что-то не так с настройками вывода. На страничке остались только созданный блок (причем, какие-то проблемы с размером) и блок плагина «Twitterfeed».
Дело в том, что имя rule_index_blog показано для примера и оно уже существует в конфиге ЛС, поэтому вместо него следует написать другое (что-то типа rule_my_super_name)
$config['block']['rule_my_super_name'] = array(
avatar
Спасибо большое, помогло!
avatar
Хочу вставить виджет комментов в сайдбар сайта. Сайдбар шириной в 245px, а минимальная ширина виджета от ВК — 300px. Кто знает как изменить ширину iframe с другого домена?
avatar
делал по вашему руководству. узнал как добавлять блоки в шаблон.
создал vk_group.tpl. в него вписал
<h3>{$aLang.subscribe_vk}</h3>


в language/russian.php
'subscribe_vk' => 'Подпишись на новое',


сам блок с инфой о группе показывает, а вот h3 не выводит. в чём может быть дело?
avatar
теперь спустя время всё нормально стало. может кэш… но как сделать чтобы оно не только на главной показывало?
avatar
Руководство — это громко сказано, делился результатами поиска..=) Вот, тут подробнее было, цитирую:
'action'  => array( 'index', 'new', /* ... где еще показывать ...*/),

Это про то, что в конфиг писать. Т.е. вслед за 'new' нужно добавить нужные странички. Могу ошибаться, но их названия можно взять отсюда. Подходят из второй колонки (отбросив ".tpl") и находя в третьей те, которые начинаются со слова «Страница».
avatar
Тоже очень нужен виджет группы в вк. ls 1.0.1 шаблон socail. Сделала всё аналогично описанному выше, только ошибка другая:
Fatal error: Uncaught exception 'Exception' with message 'Can not find the block`s template: blocks/block.vk.tpl' in /var/www/.../engine/modules/viewer/Viewer.class.php:586 Stack trace: #0 /var/www/u3680856/data/www/.../plugins/aceadminpanel/classes/modules/viewer/Viewer.class.php(493): ModuleViewer->DefineTypeBlock('blocks/block.vk...', NULL) #1 /var/www/.../engine/modules/viewer/Viewer.class.php(487): PluginAceadminpanel_ModuleViewer->DefineTypeBlock('blocks/block.vk...', NULL) #2 /var/www/.../plugins/aceadminpanel/classes/modules/viewer/Viewer.class.php(472): ModuleViewer->AddBlock('right', 'blocks/block.vk...', Array, 150) #3 /var/www/.../engine/modules/viewer/Viewer.class.php(706): PluginAceadminpanel_ModuleViewer->AddBlock('right', 'blocks/block.vk...', Array, 150) #4 /var/www/.../engine/modules/viewer/Viewer.class.php(1408): ModuleViewer->BuildBlocks() #5 /var/www/… in /var/www/.../engine/modules/viewer/Viewer.class.php on line 586

Может кто поможет?(
  • Flo
  • 0
avatar
Can not find the block`s template: blocks/block.vk.tpl — а блок в папке лежит? Вижу ссылки на Aceadminpanel, может из-за неё глюки?
avatar
Мой виджет block.vk.tpl я положила в папку blocks шаблона. Ну мне показалось это логичным :D
.
А насчёт админпанели я хз — до этого на неё никто не ругался. И мне кажется, что дело не в ней, почему-то)
avatar
вот был бы если для 1.0.1 aceblockmanager — и виджет бы был уже на сайте, и мониторинг сервера, и блок «кто онлайн»...
Никто не в курсе, когда его обновят?(
А без него, я чувствую, долго буду мучиться. Такое ощущение, что одного описания виджета в cfg мало…
avatar
Все сделал как написано.
Все выводится, но только на главной и поверх блоков «прямой эфир» и «блоги».
На внутренних не выводится и при этом блок «блоги» исчез.
пробовал ставить: ('priority'=>600))),

Как сделать что бы он выводился снизу под всеми блоками сайтбара и на всех страницах?
avatar
как выводить на остальных страницах я понял:
'action' => array( 'index', 'new',…

но как опустить виджет вниз под всеми блоками?
avatar
'priority'=>1
avatar
Спасибо!!! Получилось.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.