Не до конца понял, что именно требуется.
Например, для Entity можно сделать так (чтобы автозагрузка работала без доработок):
1. создать интерфейс в модуле Source /entity/InterfaceParser.entity.class.php
<?php
interface PluginTvh4_ModuleSource_EntityInterfaceParser
{
public function getPrograms();
}
2. далее уже создать нужное количество конкретных реализаций, например, /entity/ParserSport.entity.class.php
<?php
class PluginTvh4_ModuleSource_EntityParserSport extends Entity implements PluginTvh4_ModuleSource_EntityInterfaceParser
{
}
Если потребуется, то часть с extends Entity можно опустить.
Далее работа с Entity не отличается от обычного использования плагина.
Подскажите, пожалуйста, каким образом можно изменять PAYMENT_CURRENCY_USD на другие значения конфигом?
самый простой способ — посмотреть значения констант валюты и прописать их в явном виде в конфиге (можно попробовать и через указания полной константы модуля, но к этому времени модуль должен быть уже подключен), затем просто указать вызов значения из конфига.
можно ли как-то «выкинуть» переменную $iNumber (в примере используется для продажи различных вариантов бубликов) или же просто поставить на ее место единицу?
ага, использовать любое произвольное значение, можно туда указывать значение time()
я не говорю о переносе проекта, достаточно перенести эту таблицу с данными и плагин/модуль для работы с ней по ORM, т.е. именно то, что будет запускать во время теста
Это ошибка в логике LS из-за того, что в prefix_favourite_tag не выставлено значение по дефолту. Здесь нужно самому реализовать метод addEnumType из модуля Database с фиксом это проблемы.
Вот такой метод должен работать:
public function addEnumType($sTableName,$sFieldName,$sType,$aConfig=null) {
$sTableName = str_replace('prefix_', Config::Get('db.table.prefix'), $sTableName);
$sQuery="SHOW COLUMNS FROM `{$sTableName}`";
if ($aRows=$this->GetConnect($aConfig)->select($sQuery)) {
foreach ($aRows as $aRow){
if ($aRow['Field'] == $sFieldName) break;
}
if (strpos($aRow['Type'], "'{$sType}'") === FALSE) {
$aRow['Type'] =str_ireplace('enum(', "enum('{$sType}',", $aRow['Type']);
$sQuery="ALTER TABLE `{$sTableName}` MODIFY `{$sFieldName}` ".$aRow['Type'];
$sQuery.= ($aRow['Null']=='NO') ? ' NOT NULL ' : ' NULL ';
if ($aRow['Null']=='NO' and is_null($aRow['Default'])) {
$aRow['Default']='';
}
$sQuery.= is_null($aRow['Default']) ? ' DEFAULT NULL ' : " DEFAULT '{$aRow['Default']}' ";
$this->GetConnect($aConfig)->select($sQuery);
}
}
}
Например, для Entity можно сделать так (чтобы автозагрузка работала без доработок):
1. создать интерфейс в модуле Source
/entity/InterfaceParser.entity.class.php
2. далее уже создать нужное количество конкретных реализаций, например,
/entity/ParserSport.entity.class.php
Если потребуется, то часть с
extends Entity
можно опустить.Далее работа с Entity не отличается от обычного использования плагина.
работать обязан
А для сайт.com/blog/nameblog/topic.html/Event может, для исправления достаточно здесь github.com/livestreet/livestreet/blob/1.0.3/classes/actions/ActionBlog.class.php#L142 добавить в конец параметр
'/^$/i'
ага, использовать любое произвольное значение, можно туда указывать значение time()
Для исправления добавь в свой маппер такой метод:
И при insert/update/delete в методах маппера возвращай результат так:
$aBlock.params.plugin='myplugin'
Вот такой метод должен работать: