+0.57
Рейтинг
0.32
Сила

Дмитрий

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

Пытаюсь самостоятельно вставить блок с виджетом на сайт. Воспользовался вторым вариантом из 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

Проблема с фоном

Здраствуйте! Хочу изменить белый фон сайта на изображение в шаблоне synio. Подскажите какой css файл редачить, пробовал body в base.css, никакого эффекта.

Помогите переопределить в плагине энтити класс топика [РЕШЕНО]

Всем доброго времени суток.
Есть замечательное руководство Как создать свой вид топика, используя систему плагинов.
Однако, у меня есть необходимость переопределить еще и стандартный энтити класс, через плагин. Подскажите как это сделать?

Спасибо пользователям gran , beauty_free

Плагин "Уровни"

Скажите как вы мотивируете людей писать статьи и зарабатывать рейтинг? Лично я никак и никогда не задумывался об этом, но я уверен в том что любой сайт должен строиться по принципам игры и вовлекать человека в процесс. Да и мало кто знает о том что существуют возможности которые можно получить при начислении рейтинга: возможность создать коллективный блог, снятие ограничение на отправку комментариев и другие. И это так же актуально для тех кто ушел в минус — какой стимул получить то, чего лишился.

Читать дальше →

Другой цвет у комментариев админа

Хочу поделиться с сообществом небольшим хаком.

После несложных манипуляций можно получить другое визуальное оформление комментариев оставленных администратором сайта.

Все делается всего в два действия:

1. В файле comment.tpl в следующие строчки:
<div id="comment_id_{$oComment->getId()}" class="comment {if !$oUserCurrent or ($oUserCurrent and !$oUserCurrent->isAdministrator())}not-admin{/if} {if $oComment->getDelete()} deleted{elseif $oUserCurrent and $oComment->getUserId()==$oUserCurrent->getId()} self{elseif $sDateReadLast<=$oComment->getDate()} new{/if}" >

добавляем:
{if $oUser->isAdministrator()}admin{else}user{/if}

получаем:
<div id="comment_id_{$oComment->getId()}" class="comment {if !$oUserCurrent or ($oUserCurrent and !$oUserCurrent->isAdministrator())}not-admin{/if} {if $oComment->getDelete()} deleted{elseif $oUserCurrent and $oComment->getUserId()==$oUserCurrent->getId()} self{elseif $sDateReadLast<=$oComment->getDate()} new{/if} {if $oUser->isAdministrator()}admin{else}user{/if}"  >


2. В файле comments.css добавляем стиль:
.comment.admin	{ background: #желаемый цвет; }


Вот собственно и все. Если подключить немного фантазии, то можно изменить не только цвет блока комментария, но и его визуальное оформление полностью. Надеюсь кому нибудь этот небольшой хак будет полезным.

Статус онлайн в профиле (и не только) [реализация]




Спасибо ort и PSNet

Загорелся идеей вывести в профиль статус онлайн/оффлайн для пользователей. Понял, что по сути можно сделать напрямую в шаблоне примерно такой схемой
{если «текущее время в секундах» — «дата последнего визита в секундах» < 900 секунд} онлайн {иначе} оффлайн {/если}

Под катом инструкция

Где найти исходный код хука?

Начал изучать LS, но никак не могу понять, кто такие хуки.
Прочитал в документации и искал по всему сайту, но до меня никак не доходит.

Например в шаблоне header.tpl буквально в пятой строчке есть вызов хука «html_head_begin»

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html lang="ru">
<head>
	{hook run='html_head_begin'}
	
	<title>{$sHtmlTitle}</title>
	
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<meta name="description" content="{$sHtmlDescription}" />
	<meta name="keywords" content="{$sHtmlKeywords}" />


а теперь внимание вопрос.
Где в исходных кодах можно найти, что делает этот хук? в каких папках и директориях копать?

если я где-то затупил — поправьте пожалуйста.

UPD: Та дам! Если кто-то еще не разобрался, что такое хуки, то вот вам колхозное определение.
Хук — это место в шаблоне, которое обозначается примерно так:
{hook run='menu_topic_action_add_item'}


это значит, что вы можете написать функцию, которая будет запущена в месте, где этот хук расположен. Например так:

public function RegisterHook()
    {
	$this->AddHook('menu_topic_action_add_item', 'TopicEditAfter');
    }
	
	public function TopicEditAfter()
    {
		$aType = $this->PluginCategory_Category_GetType();
		$this->Viewer_Assign('aType', $aType);
		return $this->Viewer_Fetch(Plugin::GetTemplatePath('category') .  'menu.settings_category.tpl');
    }


Т.е. мы говорим движку: «я хочу запустить эту белеберду в месте, где стоит хук „menu_topic_action_add_item“. Поэтому, если вы нашли в коде конструкцию
{hook run='menu_topic_action_add_item'}


то не пугайтесь, это значит, что тут может запускаться некий код. А может и не запускаться :)

И не забывайте, что при регистрации хука шаблона надо вначале писать „template_“, т.е. если вы в шаблоне нашли
{hook run="menu_topic_action_add_item"}


то определять его надо так:
public function RegisterHook()
    {
	$this->AddHook('tеmplate_menu_topic_action_add_item', 'TopicEditAfter');
    }
	
    }

Как вывести пол пользователя?

Здравствуйте.

Задача: вывести на сайте пол залогиненого пользователя, указанный в его профиле.
Пример:
1. в моём профиле указан пол: Мужчина.
2. Я залогинелся на сайте
3. На главной странице вижу надпись «мужчина»

Необходимо для настройки таргетинга баннерокрутилки.

Подскажите, пожалуйста как это реализовать. В поиске искал.

О себе,комментарии и описании блога

Думаю много кому интересно как в данные места добавить эти функции.

1.В «о себе» добавить хтмл теги
2.В комментариях добавить возможность добавлять видео и картинки (и если допустим стоит плагин Prewiew)
3.В описании блога добавить хтмл теги

Ждем скорую помощь)

Не могу добавить panel_form в Settings.

Требуется помощь. Хочу добавить panel_form в настройки изменения профиля в «О себе».
HTML включил. Добавил в templ/skin/шаблон/actions/ActionSettings
данную строчку
<div class="panel_form" style="background: #eaecea; ">       	 
	 						<a href="#" onclick="lsPanel.putTagAround('profile_text','b'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/bold_ru.gif" width="20" height="20" title="{$aLang.panel_b}">
	 						<a href="#" onclick="lsPanel.putTagAround('profile_text','i'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/italic_ru.gif" width="20" height="20" title="{$aLang.panel_i}"></a>	 			
	 						<a href="#" onclick="lsPanel.putTagAround('profile_text','u'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/underline_ru.gif" width="20" height="20" title="{$aLang.panel_u}"></a>	 			
	 						<a href="#" onclick="lsPanel.putTagAround('profile_text','s'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/strikethrough.gif" width="20" height="20" title="{$aLang.panel_s}"></a>	 			
	 						 
	 						<a href="#" onclick="lsPanel.putTagUrl('profile_text','{$aLang.panel_url_promt}'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/link.gif" width="20" height="20"  title="{$aLang.panel_url}"></a>
	 						<a href="#" onclick="lsPanel.putQuote('profile_text'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/quote.gif" width="20" height="20" title="{$aLang.panel_quote}"></a>
	 						<a href="#" onclick="lsPanel.putTagAround('profile_text','code'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/code.gif" width="30" height="20" title="{$aLang.panel_code}"></a>
	 						<a href="#" onclick="lsPanel.putTagAround('profile_text','video'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/video.gif" width="20" height="20" title="{$aLang.panel_video}"></a>
	 				
	 						<a href="#" onclick="showImgUploadForm(); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/images/panel/img.gif" width="20" height="20" title="{$aLang.panel_image}"></a> 			
	 						<a href="#" onclick="lsPanel.putText('profile_text','

Читать дальше →