-2.31
Рейтинг
0.13
Сила

Алексей

Как вызвать контроллер по url, не соответствующей ему? Иными словами - как убрать первый уровень ссылок?

Проблема в следующем: плагин статических страниц генерит страницы через /page/. Можно ли как-нибудь убрать этот элемент? Для не статических я просто создал отдельные контроллеры, но тут не знаю, что делать…

Варианты с htaccess и с роутингом движка отбросил сразу, т.к. не припомню, чтобы htaccess позволил изменить собственно url, в то время как система вела бы себя точно так же, словно url изменен не был (возможно, это реально сделать). С роутингом движка опять же все ясно — он просто редиректит, то есть, это не есть то, что надо.

Не видит новый модуль после его создания

Всем привет. Возникла небольшая проблемка: создал в своем плагине новый модуль, Mymodule (от Module). Затем добавил к нему маппер (от Mapper). Далее пытаюсь в методе Exec блока MyBlock вызвать метод модуля, вот так:
$aData = $this->ModuleMymodule_getData();

Но это вызывает ошибку Class «ModuleMymodule» not found!. Причем если дописать в aInherits нужную строку, ошибка меняется на Class «PluginMyPlugin_ModuleMymodule» not found!.

Собственно, код объявления модулей
class PluginMyPlugin_ModuleMymodule extends Module {
	protected $_oMapper;

   	public function Init() {
   		$this->_oMapper = Engine::GetMapper(__CLASS__);
   	}
    // some functions
}

class PluginMyPlugin_ModuleMymodule_MapperMymodule extends Mapper {
// some functions
}


Код блока:
class PluginMyPlugin_BlockMyBlock extends Block {
    public function Exec() {
    	$aData = $this->ModuleMymodule_getData(); //эта строка вызывает ошибку
// some code
}
}


Пути к файлам вроде бы тоже все полностью верны:
— myplugin/classes/actions/modules/mymodule/Mymodule.class.php
— myplugin/classes/actions/modules/mymodule/mapper/Mymodule.mapper.class.php

Не могу понять, что я сделал не так. Делал в полной аналогии с другими плагинами, в которых используются новые модули, но почему-то LS не видит его… помогите найти ошибку, пожалуйста.

Как избавиться от ошибки JSON.parse: unexpected character при загрузке изображений (lsgallery)?

Здравствуйте!
Установил lsgallery. На локальной машине все работает отлично, но на сервере выдает указанную ошибку на стадии resize. Поскольку все работает на локальной машине, скорее всего, дело в настройках php \ сервера, но какие именно пункты могут отвечать за это хотя бы теоретически (опуская размер), я не представляю…
Подскажите, пожалуйста, куда копать в данной ситуации. Спасибо.

Как получить в шаблоне значение из конфига плагина?

Пишу так:
{$smarty.config.plugin.myPlugin.profilename.charlimit.max}


В конфиге это выглядит так:
$config['profilename']['charlimit']['max'] = 19;


Но ничего не выводится. Почему?

Как заменить переменную в языковой строке, если она выводится в шаблон?

Суть в том, что мне нужно заменить переменную в строке %%variable%%. В экшене это легко сделать, передав параметр, но в шаблоне, где вызов происходит через точку (Lang.string) я не знаю, как передать что-то. Хотелось бы найти способ поэлегантнее, нежели получение необходимого в экшене и подгрузку переменной в шаблон.

Как расширить файл шаблона, если в нем не предусмотрено хуков?..

Проблема в следующем — есть файл topic_part_header, но в нем не предусмотрено хуков, которые бы позволили добавить туда что-нибудь. Но туда нужно добавить ссылку на новое действие с топиком. Подскажите, пожалуйста, как быть? Лезть в шаблон и менять не хочется, хотелось бы через плагин.

Почему запрос к БД insert возвращает false, но добавляет при этом данные в БД?

Здравствуйте.
Проблема в следующем: добавляю при помощи нижеследующего кода строку в таблицу, функция при этом должна возвращать статус операции — true или false. Путем экспериментов установил, что она всегда возвращает false, но сам запрос на добавление проходит успешно (данные в таблице появляются).
Попытки вывести mysql_error \ mysql_errno ничего не дали (пустая строка и 0 соответственно).

Помогите, пожалуйста, разобраться, с чем это может быть связано?..

Собственно, код метода (в маппере, вызывается из класса):

public function AddTopicForPromote(ModuleTopic_EntityTopic $oTopic, $vPrice, $vAmount) {
		$sql = "INSERT INTO ".Config::Get('db.table.topic_promote_params')." 
			( 
				topic_id,
				promote_price,
				promote_amount,
				status
			) VALUES (?d, ?d, ?d, ?d)";

		if ($this->oDb->query($sql,$oTopic->getId(),$vPrice,$vAmount,0)) {
			return true;
		}
		return false;
	}

Как получить строку локализации по динамически формируемому ключу?

Например, хочу сделать так:
{$aLang.region_$oLangAlias}

Но нельзя. Вставить еще одни скобки тоже нельзя, само собой. Возможно ли как-нибудь обойти это ограничение?