+18.11
Рейтинг
50.70
Сила

1099511627776

Типизация параметров в своей сущности

Здравствуйте, вопрос в следующем
Пишу плагин который реализует новую сущьность и в пунктах добавления\обновления модуля пишу тип сущьности:

public function UpdateMyEntity(ModuleMyModule_EntityMyEntity $oMyEntity) {
    ..........
    $res = $this->oMapper->UpdateMyEntity($oMyEntity);
}

Теперь пишу функцию маппера:

public function UpdateMyEntity(ModuleMyModule_EntityMyEntity $oMyEntity) {
    ...........
}


Теперь проблема. Если я вызываю делаю в Action-е вызов:

    $blogcat = Engine::GetEntity('MyModule_MyEntity');
    $blogcat->setParentId(1);
    $blogcat->setTitle('Kukuku_child');
    $blogcat->setDesc('Kukuku_child');
    $this->Blogcats_UpdateMyEntity($blogcat);

то выскакивает ошибка:
Catchable fatal error: Argument 1 passed to PluginMyPlugin_ModuleMyModule::UpdateMyEntityt() must be an instance of ModuleMyModule_EntityMyEntity, instance of PluginMyPlugin_ModuleMyModule_EntityMyEntity
т.е. Оно не хочет воспринимать мой тип Entity правильно, хотя в aInherits оно выставлено вроде бы
правильною:

    protected $aInherits=array(
        'entity' => array('ModuleMyModule_EntityMyEntity' => '_ModuleMyModule_EntityMyEntity'),
        'mapper' => array('ModuleMyModule_MapperMyEntity' => '_ModuleMyModule_MapperMyEntity'),
        'module' => array('ModuleMyModule' => '_ModuleMyModule'),
    );

TinyMCE как включить кнопки центрирования

Здравствуйте.
Включил tinymce и обнаружил что там нет кнопочек выравнивания (JustfyLeft,JustifyRight,JustifyCenter)
Включил их в в тулбары в (engine/lib/internal/template/js/settings.js). Они отображаются но не работают.
Подскажите в какую сторону копать?

Как из хука получить topicid

Здравствуйте, вопрос следующий:
У меня есть хук определенный в шаблоне.
При его вызове не надо определить ид топика для которого он был вызван:
host/blog/61.html
мне надо выудить 61.
Если я работаю через Router тогда $id = Router::GetActionEvent(); выдает мне 61.html
Я какбы из этого могу выудить 61 но будет ли это универсальным способом?

Не сохраняется гео-таргет

Здравствуйте, делаю новую привязку к гео-таргет
и проблема в том что она сохраняется в базе но возвращает негативный результат:

	public function AddTarget($oTarget) {		
		$sql = "INSERT INTO ".Config::Get('db.table.geo_target')." SET ?a ";
		if ($this->oDb->query($sql,$oTarget->_getData())) {
			return true;
		}
		return false;
	}

в этой функции при нормальном выполнении: $this->oDb->query($sql,$oTarget->_getData() возвращается 0 и соответтвенно выполняется return false.
Если его использовать как в ActionSetting т.е. без проверки, тогда все нормально, но если использовать с if, тогда в любом случае результат будет негативным

Как организовать проверку выполнился хук или нет?

Здравствуйте, вопрос вот в чем
Есть файл шаблона. И нем есть примерно такой вызов:
{hook run='footer_end'}


Как мне надо изменить файл шаблона чтобы можно было сделать следующее (условный язык):

 {if hook_has_returned('footed_end')}
    ХУК выполнился и все нормально
 {else}
    ХУК не выполнился, надо вывести заглушку
 {/if}

Еще раз о переопределении шаблонов через плагин

Здравствуйте собственно вопрос.
Есть новый тип топика, который требует переработки некоторых элементов шаблона (скажем комментариев).
Если я доработал комментарии вставил их в плагин и переопределил их через $aDelegates то этот шаблоно переопределяется ДЛЯ ВСЕХ видов топиков.
Как сделать так чтобы он переопределялвся только ДЛЯ КОНКРЕТНОГО ВИДА топика?
Спасибо.

Как правильно переопределить Action

Вопрос отчасти продолжение
этого вопроса, но появились некоторые нюансы.
К примеру у меня есть 2 РАЗНЫХ типа топика которые должны отображаться по разному.
Пример если я реализовую отображение топика так:

protected function EventShowTopic() {
                if (!($oTopic=$this->Topic_GetTopicById($iTopicId))) {
                        return parent::EventNotFound();
                }
                if($oTopic->getType() != 'mytopic') {
                        return parent::EventShowTopic();
                }

То этот метод будет отрабатывать ДЛЯ ВСЕХ топиков независимо от типа. Соответственно я и делаю проверку на тип топика:

                if($oTopic->getType() != 'mytopic') {
                        return parent::EventShowTopic();
                }

И вроде бы все хорошо.
НО. Теперь если я добавлю еще один новый тип топика с таким же кодом:

protected function EventShowTopic() {
                if (!($oTopic=$this->Topic_GetTopicById($iTopicId))) {
                        return parent::EventNotFound();
                }
                if($oTopic->getType() != 'myNEWtopic') {
                        return parent::EventShowTopic();
                }

то здесь происходит конфуз. А конкретно, этот переопределенный метод не будет выполняться никогда. Потому что в предыдущем вызывается return parent::EventShowTopic();, который вызывает оригинальный метод.
Вопрос. Как преодолеть этот конфуз?

Получение данных пользователя через JavaScript

Здравствуйте,
Вопрос в следующем. Есть кнопка по которой вызывается javascript. В это скрипте мне необходимо добавить елемент с данными пользователя (логин, аватар, и т.д. и т.п.) Есть ли возможность в javascript-е добавить выудить информацию о текущем пользователе e.g.:

 ls.user.getlogin()
 ls.user.getId()
 ls.user.getProfileAvatar(24)

и т.д. и т.п.