Релиз LiveStreet 2.1.0
В новой версии ровно одно нововведение. Модуль Menu. Сделано в первую очередь, так как столкнулся с необходимостью гибко модифицировать менюшки из плагинов, кототрые выносятся из основного функционала.
Помимо этого в плагине админ панели добавлен раздел редактирования/создания меню.
Использование:
Параметр name — код меню хранимого в бд и созданного например в админке.
Пример модификации для плагинов:
Поддерживается бесконечная вложенность.
Скачать можно по ссылке github.com/livestreet/livestreet/releases/tag/v2.1.0
Админ панель github.com/livestreet/lsplugin-admin/releases/tag/v1.1.0
Помимо этого в плагине админ панели добавлен раздел редактирования/создания меню.
Использование:
{insert name='block' block='menu' params=[ 'name' => "main", "activeItem" => $sMenuHeadItemSelect, "mods" => "main" ]}Параметр name — код меню хранимого в бд и созданного например в админке.
Пример модификации для плагинов:
class PluginTest_HookMenu extends Hook{
public function RegisterHook() {
$this->AddHook('menu_before_prepare', 'Menu');
}
public function Menu($aParams) {
$oMenu = $aParams['menu'];
$oItem = $oMenu->find('people');
$oItem ->after(Engine::GetEntity("ModuleMenu_EntityItem", [
'name' => 'after',
'title' => 'Hook2',
'url' => '/hook2'
]))
->before(Engine::GetEntity("ModuleMenu_EntityItem", [
'name' => 'before',
'title' => 'Hook1'
]))
->appendChild(Engine::GetEntity("ModuleMenu_EntityItem", [
'name' => 'child1',
'title' => 'Hook4',
'url' => '/hook4'
]))
->prependChild(Engine::GetEntity("ModuleMenu_EntityItem", [
'name' => 'child',
'title' => 'Hook3',
'url' => '/hook3'
]));
}
}Поддерживается бесконечная вложенность.
Скачать можно по ссылке github.com/livestreet/livestreet/releases/tag/v2.1.0
Админ панель github.com/livestreet/lsplugin-admin/releases/tag/v1.1.0

35 комментариев
В профиле:
А также не устанавливается расширенная адмипанель, ошибка:
Использую PHP 7.2. Возможно ошибки из-за этого? Подскажите как быть. Есть готовая сборка с предустановленной админкой?
Потому что each и create_function в PHP 7.2 уже deprecated.
Вам очень-очень нужно или вы сможете на PHP 7.0 пожить?
В сети есть версия 1.0.4 под PHP 7.0
Я доделывал под свой проект под PHP 7.2
В файле framework/libs/vendor/DklabCache/Zend/Cache/Backend.php нужно заменить строки:
while (list($name, $value) = each($options)) {на
foreach ($options as $name=>$value) {А также:
while (list($name, $value) = each($directives)) {на
foreach ($directives as $key=>$value) {2. Насчет второго случая ошибка в скомпилированном файле, править его не имеет смысла, нужно найти .tpl файл откуда он скоптилировался и заменить count(). Скорее всего просто убрать его, так как в некоторых шаблонах я замечал что проверка на существования массива проводится через if (count($array)). В таких случаях достаточно if ($array) или if (is_array($array)).
3. Либо вы можете полностью отключить вывод предупреждений, в файл Config.local.php вставьте в начало:
Таким образом Livestreet будет выводить только критические ошибки.
foreach ($directives as $key=>$value) {а
foreach ($directives as $name=>$value) {if ($array) или if (is_array($array))?
if(is_array($aArray)) — сработает в случае если переменная $aArray является массивом, то есть сработает для пустого массива.
if($aArray) — сработает с любым значением, которое приводится к true. Пустой масив в мире похапэ — false.
Как видите это три совершенно разные проверки.
Предложение:
— Удалить ВСЕ темы хоть как-то касающиеся тематики «развитие ЛС, баги, ЛС умер, баги без измеений» итд.
— Собрать темы с предложениями, отфильтровать по важности и важные реализовать если требуется.
Сделать полный перезапуск проекта. С новым подходом. Не начинать как «программист», «мы изменим движок на Х фреймворк, мы перепишем бутсрам 100500 версии, мы сделаем плагин который вы ждали 10 лет». Сделать перезапуск с маркетинговым подходом, поняв что нужно рынку и сделать актуально предложение.
ЛС это ведь Инструмент. Или инструмент, который создает инструменты.
Например, Орт что сделал? Он выполняет частные заказы по сайтам и реализует задачи с помощью инструмента ЛС, затачивая его под задачи.
кроме того в гитхабе есть и другие коммиты. Может стоит хоть иногда все тщательно проверять и обновлять публичный дистрибутив?
И подскажите какой мне бубен взять что бы эта вещь заработала?