+0.71
Рейтинг
0.93
Сила

Доработка портала

Всем привет,

есть игровой портал gamepolis.ru, в нем надо дописать пару моделей:
— кланы
— битвы
Также ко всему этому надо прикрутить логику и сделать шаблоны.
Как это все работает:
— пользователи могут добавляться в кланы
— кланы играют между собой
— по результатам игр ведется турнирная сетка

Если кого-то заинтересовало, вышлю подробное тз.
Пишите в каменты!

Спасибо.

Изменить размер картинке в топике

Привет,

бьюсь над проблемой — не могу решить.

Задача такая:
в одном из типов топиков (на сайте их 5) сделать так, чтобы можно было подгружать картинки размером в 1210px, при этом для остальных типов топиков оставить ограничение в конфиге

$config['view']['img_resize_width'] = 610;


Пробовал задать в Init и других эвентах размер только для этого экшна
public function Init() {
		/**
		 * Проверяем авторизован ли юзер
		 */
		$this->oUserCurrent=$this->User_GetUserCurrent();
		$this->SetDefaultEvent('index');
		$this->Viewer_AddHtmlTitle($this->Lang_Get('topic_title'));
		Config::Set('view.img_resize_width', 1210);
	}


не хочет, все равно режет картинки.

У кого-нибудь есть идеи?

UPD: Проблема решена плагином Preview Pictures. За решение спасибо netlanc

Шаблон статической страницы

почему-то долго не мог допереть, где лежит шаблон обычной статической страницы.

Я создавал страницы с помощью aceadminpanel и все страницы лежат по адресам /page/название_страницы/

шаблоны для них лежат в отдельном плагине page по адресу (если у вас шаблон new-jquery):
/public_html/plugins/page/templates/skin/new-jquery/actions/ActionPage

вдруг кто ищет :)

Необходимо доработать сайт

Добрый вечер,

на сайте необходимо сделать следующее:
— в плагине категории добалено поле «описание», надо реализовать нормальное редактирование этого поля
— к каждой категории необходимо добавить поле «изображение»

Думаю, для опытных парней тут нет ничего сложного. Пишите в каменты или в личку.

спасибо

Передача параметров через хук

Кому-то это может показаться более чем тривиальным, однако нигде в документах я этого не нашел.

Задача была передать id топика (или весь топик) из шаблона в хук. Реализуется это следующим образом:

например для передачи Id топика надо сделать следующее. В шаблоне:


{assign var="topicId" value=$oTopic->getId()}
{hook run='topic_activ' topic=$topicId}


регистрируем хук
public function RegisterHook()
    {

	$this->AddHook('template_topic_activ', 'CategoryAct');
}	


и принимаем эту переменную

public function CategoryAct($oTopic)
    {
	return false;
	
    }


вообщем «спасибо, кэп» :)
буду рад, если кому-то поможет.

P.S. Кстати,
$smarty->get_template_vars();
в LiveStreet не работает, поэтому так получить переменные мне не удалось

Регулярки в AddEventPreg

Всем привет,

я по прежнему недавно осваиваю LS (как и php). Меня ставят в тупик регулярные выражения в AddEventPreg. Я пробовал читать про регулярки, но от этого я тупею еще больше)

Вопрос вот в чем: у меня есть экшн на странице /activites/, он прописан в конфиге так:
Config::Set('router.page.activites', 'PluginCategory_ActionActivites');


Экшн просто выводит категории из плагина «Категории», в самом экшне добавление эвента прописано следующим образом:
$this->AddEventPreg('/^(page(\d+))?$/i',  'EventActivites');


в таком виде страница /activites/ отлично отображает категории, однако мне хочется добавить эвент, который бы отображал описание одной категории на отдельной странице, например

/activites/football или /activites/tennis и т.д. Подскажите как мне добавить подобный эвент.

Пробовал варианты:
$this->AddEventPreg('/^([\w\-\_]+)$/i', 'EventActivites');
$this->AddEventPreg('/^([\w\-\_]+)$/i', '/^(page(\d+))?$/i', 'EventActiv');


а при
$this->AddEventPreg('/^([\w\-\_]+)$/i', 'EventActivites');

страница /activites/ вообще не отображается.

подскажите пожалуйста.

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

Начал изучать 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');
    }
	
    }