Релиз LiveStreet 2.0.0

Основные изменения относительно версии 1.0 описаны в этом посте — livestreet.ru/blog/dev_livestreet/17704.html
В текущем релизе постарались исправить баги бета-версии.
--------------------------------------------------------
Сам уже не верил, что что-то произойдет, не говоря уже о сообществе :)
За это время успел обзавестись двумя сыновьями, а тут какую-то версию не мог выпилить :)
В общем, гора с плеч, одним словом.

За эти четыре года уже всех могу не вспомнить, но хочу сказать большое спасибо deniart , что хватило терпения из года в год перелопачивать фронт. PSNet за реализацию админки (точно не помню, но версия эдак четвертая по счету), gran , kerby , Chiffa , lifecom , Chiliec , kpoxas , prokopov за несчетное число багов, и всему сообществу. Отдельно спасибо LeX — отличный источник заряда энергии.

Вот такие дела. Всем спасибо!
--------------------------------------------------------
Скачать можно здесьlivestreetcms.ru/download/get/
Документация по новой структуре фронта — github.com/livestreet/livestreet/wiki + в дистрибутиве идет плагин docs с доками по каждому компоненту.

Поддержать новость на Хабре — habrahabr.ru/post/320848/

635 комментариев

avatar
Наконец-то долгожданный 2.0!
avatar
предполагаю, что только мной )
avatar
Нет. :) Поздравляю!
avatar
вы будете обновлять DAO под 2.0?
avatar
Поздравляю всех. Вот теперь то сообщество возродится вновь :)
avatar
Как птица Феникс, не меньше
avatar
Ух ты! Уже двое сыновей! Поздравляю!
avatar
Вов, спасибо. Приятно тебя видеть в каждой теме про релиз )))
avatar
Как говорится: нужно чаще встречаться :)))
avatar
Ура! Поздравляю!
avatar
молодца, что не бросил )) всем, кто помогал — спасибо отдельное!!!
avatar
Спасибо большое.
avatar
Поздравляю!
avatar
Шикарно, поздравляю всех, скоро покатится по нарастающей! На хабр надо бы релиз, для привлечение внимания :)
avatar
Ура, товарищи! Свершилось! Рад, что смог частично помочь в этом.
Теперь нужно плагины обновлять :)
  • gran
  • +8
avatar
как насчет Компаний?
avatar
Поддерживаю!
avatar
Свои плагины я и имел ввиду в первую очередь.
Готовы уже к переходу на 2.0?
avatar
конечно
avatar
Мы готовы, а плагины, как видно, еще нет)
avatar
Давно пора! Присоединяюсь к поздравлениям =)
avatar
Я верил) И поздравляю с сыновьями!
avatar
Поздравляю! =)
avatar
А вот и первый баг после обновления:
SQL Error: Unknown column 's.session_date_close' in 'where clause' at /site.ru/application/classes/modules/user/mapper/User.mapper.class.php line 174
Array
  • Mac
  • 0
avatar
Попытка номер два:
Invalid default value for 'session_date_create'
Invalid default value for 'session_date_create'
Invalid default value for 'session_date_create'
Invalid default value for 'session_date_create'
Invalid default value for 'reminder_date_used'
Invalid default value for 'session_date_create'
Invalid default value for 'session_date_create'
Invalid default value for 'session_date_create'

MySQL 5.7.
avatar
livestreet.ru/blog/18778.html по аналогии, скорее всего поможет.
avatar
Имхо, лучше адаптировать структуру БД под реалии 5.7, а не менять настройки MySQL на отличные от дефолтных. Ждем фикса.
avatar
fix
avatar
Капча при регистрации не отображается, т.е. окно с капчей видно, а текста нет. Гляньте если у вас так же.
avatar
адрес сайта какой?
avatar
avatar
После новой установки? Как решилась проблема?
avatar
Пытался обновиться с 1.0.3.
Пока никак не решилась. Сообщения «Invalid default value for 'session_date_create'» проигнорировал. Сайт вроде запустился, но залогиниться невозможно. В консоли виден ответ сервера про «Unknown column», процитированный мною выше.
avatar
Есть какой-нибудь прогресс по этой проблеме?
avatar
возможно получить дамп от используемой 1.0.3?
avatar
Символично. Я перестал активно следить за сообществом в конце 2012 года, на сколько я помню, примерно тогда вышла предыдущая (до 2.0) версия Livestreet. Пару недель назад мне опять понадобился Livestreet, пока поднимал старые контакты — и тут релиз 2.0)).
avatar
Отличные новости!
  • Yuta
  • +2
avatar
этот сайт будешь обновлять до 2.0?
avatar
Спасибо! :)
Добавьте в пост кнопку пожертвований (а лучше в шапку этого сайта).
avatar
Замечательно! Спасибо за труд
avatar
Поздравляю всех с обновлением, 3 года с ЛС и все 3 года 2-я была все в бете, так что даже местами не верится)
avatar
Спасибо всем за проделанные труды и терпение! Поздравляю! :)
  • MTv
  • +3
avatar
Ура, я даже если честно не верил! Респект! Развития LS'у!
avatar
Ура!
  • emmy
  • +1
avatar
Спасибо за релиз и отдельно за возможность обновления в консоли ;)
avatar
Добавил новость на хабре — habrahabr.ru/post/320848/
Просьба поддержать лайками )
  • ort
  • +5
avatar
Там уже написали что делать сайты на livestreet не надо)
avatar
не делай)
avatar
есть инвайт? :D
avatar
ага, как раз последний, скинь почту
avatar
Я думаю что если говорить о LiveStreet как о CMS для организации сообщества, то для части рынка это вполне годное решение, мне оно даже больше нравится чем допустим Wordpress с его количеством плагинов и тем (LS больше нравится т.к более объекто-ориентированный чем WP, более строгая структура, хоть и Smarty но шаблонизатор). Но если говорить как о платформе для создания серьезных проектов то в большинстве случаев просто не будут покрыты требования безопасности (конечно можно все дыры и самому закрыть). Как писали в комментариях на хабре, нужно самому экранировать переменные в SQL и не используются PDO Prepared Statements, вроде бы не большая проблема, но не опытный программист тут может ошибиться и мы получаем дыру хотя все популярные ORM делают это сами. Отсутствие Composer, PSR-0, PSR-4. Даже сейчас зайдя на сайт показывается Warning что закончилось место :) Для бизнеса такое решение часто может не подойти, по тому на хабре и слышен негатив. Но для персональных сайтов, для небольших компаний вполне хорошее решение. Я думаю LS давно нужно было больше использовать популярные библиотеки для низкоуровневых вещей таких как DB, Cache, ServiceLocator (нет это не сложно), Console. Допустим Laravel использует компонент Symfony Console, но добавляет свой функционал поверх по этому команды создавать на много проще (это если говорить что сторонние компоненты добавят сложности).
avatar
Проясните, пожалуйста, непонятные обычному юзеру слова.
В чем отличие «для бизнеса» от «для небольших компаний» и насколько опасны вышеупомянутые дыры?
avatar
Для бизнеса имеется ввиду более сложные решения, ну допустим CRM которая хранит важные документы клиента(или другую не публичную информацию). Один не экранированный SQL запрос может привести к сливу всей базы данных. На сколько безопасна CMS лучше спрашивать у разработчиков, я не делал полный аудит кода на уязвимости, но думаю сама CMS защищена достаточно хорошо (все известные баги закрыты), а вот за сторонние плагины никто кроме его автора отвечать не может. Вы можете скачать простенький плагин в котором одна маленькая дыра потому что разраб забыл проэкранировать переменную в своем запросе, но если злоумышленник об этом узнает (о том что у вас стоит этот плагин, что не очень сложно) то спокойно сможет этим воспользоваться что не есть хорошо для крупных компаний по этому они и создают свои решения или используют другие фреймворки. Если у вас персональный сайт то максимум что вам грозит это восстановить бэкап на хостинге, написать в сообщество и ждать пока баг закроют :) А вот если вы крупная компания и вас слили то клиенты и судом могут начать угрожать :)
avatar
по этому они и создают свои решения или используют другие фреймворки.
плагины писать видимо сложней…
avatar
Не понял что вы имеете ввиду, какие плагины? Для Livestreet? Сложней по сравнению с чем?
avatar
Почему не писать свои плагины без дыр, а не создавать с нуля другие решения, имеется в виду.
avatar
Ого, оставляю свой комментарий в эпичном топике.
  • Deia
  • 0
avatar
После новой установки ничего не пишет о необходимости удалить папку «install», как следствие, после перехода на главную, запуск новой установки.
avatar
Точно нет или не заметил? Вот прям перед релизом ставил и там было )
avatar
ставил все ок. предупреждение есть
avatar
Хм, пересмотрю, может действительно пропустил.
avatar
В плагине docs опечатка: typography > Строчный список > Для отображения списка в строчном виде используйте класс line-inline. list-inline
avatar
На стене больше одного коммента к записи не добавляется?
avatar
Сорри, поля не увидел.
avatar
Разработчикам модулей на заметку, рейтинг в 2.0 упростили, а некоторым карма нужна =)
avatar
Шаблон бы прикупить :(
avatar
Будет ли конкурс на стандартный шаблон для LS 2.0?
avatar
Желающих бы поучаствовать и призовой фонд
avatar
Желающие в сообществе и на хабре найдутся, можно опрос провести, а что призовой фонд?
avatar
Повторю вопрос, а что призовой фонд? Конкурс вообще ждать или нет?
avatar
Будет ли мануал по переезду с предыдущей версии?
avatar
Там в ридми описаны шаги по обновлению + в инсталяторе есть выбор — ставить новый или обновить с 1.0
avatar
Попробовал мигрировать на локалке, и что-то не пошло…

Отчего может быть такая ситуевина?

avatar
новая соль для паролей
github.com/gowebpro/lsp-saltpassword
avatar
расширить бы еще пользовательские поля)
avatar
куда?
avatar
расширять то есть куда
avatar
это то понятно, тебе то куда надо?
avatar
напишу пост завтра по данному вопросу
avatar
avatar
avatar
Только лучше не соль использовать, а password_hash и password_verify
avatar
Я так понял это уже есть?
avatar
нету, но код под это подготовлен, собственно плагин выше его и использует
avatar
я думаю над этим, эксперементирую) плагин для самых недовольных «надежностью» пароля.
avatar
там есть интересная функция password_needs_rehash, если она подойдет для паролей в текущем шифровнии сегодня доделаю плагин
avatar
Почитал комментарии под новостью на Хабре. Хочется поддержать Орта. Недовольные будут всегда. В жизни идеальное бывает очень редко.
Критика — критикой. А вот Livestreet (Alimero) уже и премии берет, притом в том, для чего и задумывался автором) premiaruneta.ru/press/52/

  • Yuta
  • +1
avatar
Судя по тем же метам и структуре файлов — то на чем сделан Alimero больше похоже на Yii2, чем на LS. Извиняюсь если моя предположение ошибочно.
avatar
Тоже в начале сомневался, но думаю, что все-таки Ls alimero.ru/profile/zuhra-makeeva/
Хотя все может быть)
avatar
avatar
Криптографические пароли:
github.com/Xmk/lsp-cryptopass

Инструкция:
— Установил через админку;
— Зашел в свой профиль в админке — сменил пароль (нужна админка с github — https://github.com/livestreet/lsplugin-admin/commits/master), либо восстанавливай пароль;
avatar
плагин требует php >= 5.5
avatar
ну у самого LS 2 такие требования
avatar
что-то я видимо пропустил этот момент. помню про 5.4
значит можно убрать проверку)
avatar
может я не нашел, но такую инфу надо где то на видном месте иметь, типа «требования к серверу».
avatar
при установке это требование указано
avatar
еще бы схему конфига для админки и миграци -> добавить в каталог
avatar
миграция для первичной установки тоже нужна? щас сделаю.
схема конфига для админки есть
avatar
ага
не доглядел схему
avatar
А плагин «Page» для двойки будет?
avatar
вот это да, я его забыл вложить в дистрибутив :)
он есть на гитхабе
avatar
он есть в папке example админки
avatar
там другой плуг
avatar
Скажите, на php7.1+nginx+mysql 5.6 нормально будет работать?
avatar
на php7.1+nginx+mysql 5.5 работает (локалка)
avatar

Вопросы к сообществу по актуальности плагинов


1. Форум.
Сейчас переношу форум на 2.0, для одного проекта. Актуален ли данный плагин сообществу? Нужен в каталоге?
Вообще этот плагин изначально использовался на сайтах, написанных преймущественно на фреймворке LS (то есть без блоговой системы) и показывает что лайвстрит это довольно гибкая система, позволяющая реализовать на ней что душе угодно.

2. Обратная связь.
Если актуально, напишу новую версию плагина позволяющую создавать неограниченное число форм и вставлять их тегом в редактор или в другое место сайта (хуками).

3. Вопрос-ответ.
Да простят меня авторы всех предыдущих подобных плагинов, но я напишу свою версию для 2.0 и бесплатно.
Если актуально…
avatar
Обратная связь в просто исполнении для 2.0 у меня уже есть, выложу на днях
avatar
Приветствую!
Был ли выложен плагин обратная связь и какие ни будь обновления дл 2 0?
avatar
avatar
Супер! Огромное спасибо!

У меня версия 2 0 которая была превысоком (обновить до текуще версии не получается) после установки плагина, при нажатии в админке на картинку обратная связь перекидывает на главную, так и должно?
avatar
обновить до текуще версии не получается
здесь без вариантов, надо обновить, иначе проблем может быть много
avatar
А нет возможности обновить через админку? Просто было много настроек сделано и обидно если все слетит…
avatar
обновить движок через админку? нет
настроек чего? конфига в админке? при обновлении такие настройки должны сохраниться
avatar
Все три актуальны.
avatar
Личный интерес к третьему.
avatar
может еще плагин события?)
avatar
может быть когда нибудь, если авторы версии для 1.0 не появятся.
времени к сожалению не так много, а по q&a просто есть наработки
avatar
Поддерживаю третий пункт.
avatar
Неплохо бы создать отдельный топик по актуализации плагинов.

Очень интересует линейка DAO и плагин «Медали и достижения (User medals)»
от PSNet

Просто для авторов стало, наверное, сюрпризом выход 2.0 версии после столь долгих ожиданий.
Хотя само обновление получилось выстраданным, но удачным.
avatar
Ну ничего себе! Поздравляю!
avatar
Поздравляю!
avatar
А каким образом свой css можно подключить до подключения компонентов? При подключении того же Бустрапа через конфиг шаблона, он своими стилями переопределяет идентичные стили компонентов. Не хотелось бы !important использовать.
avatar
подключай только нужное.
я например иногда переопределяю компонент grid и в него вписываю стили бутстраповской сетки
avatar
Я только сетку и подключаю, но с ней тянется еще немного типографики (normalize). Да и мало ли чего надо будет добавить + может быть не только Бутстрап.
avatar
yadi.sk/d/FB1QToUy3CJs86 в папку components своего шаблона закинь. больше ничего делать не надо
avatar
Так не интересно. :) Интересует суть вопроса: возможно или нет, Бутстрап просто как пример был. В какой очередности, кстати, подключаются компоненты? Так, как в конфиге прописаны?
avatar
так как в конфиге прописаны + от зависимостей.

например в конфиге написано

components = [ 'пятый', 'третий', 'десятый' ];

но у пятого в зависимостях есть десятый, а у третего пятый, значит пятый загрузится после десятого а третий после пятого
avatar
Ага, значит достаточно нужные стили вынести в компонент и прописать его в начале + учесть зависимости. Ок, спасибо!
avatar
normalize в ls называется компонентом css-reset (в компоненте grid зависимость выставлена — он будет грузится до)
avatar
Видел, я уже немного работал с двойкой, это сейчас по ходу вопросы вылезают.
avatar
В конфиге шаблона можно задать свой порядок всех компонентов используемых или изменить.
$config['components'] = Config::Get('components');
avatar
Я там писал про случай использования стилевого файла не компонентом, а простым подключением, как layout.css.
avatar
они подключаются уже после компонентов
так можно сделать только руками через хук в хедере
avatar
Ок, понял, спасибо.
avatar
Подскажите, плиз, по русским логинам.
В настройках заменил:
0-9a-z_\-
на
А-Яа-я0-9a-z_\-
Но фронт упорно матерится при попытке зарегистрироваться после перехода по ссылке-инвайту.
Что сделать чтобы из коробки заработали русские буквы в никах?
avatar
Ответьте, пожалуйста.
Я хотел проект начать на двойке, но не могу, пока не одолею эти грабли, ибо нужно принципиально.
avatar
простите за нелепый вопрос. а шабалон там тот же synio?
avatar
Да.
avatar
Поздравляю с релизом!
Шаблоны делать можно уже?
avatar
нужно! )
avatar
Жаль что под новую версию LS не успели сделать коробочный дефолтный адаптивный и современный дизайн. А оставили старый.
avatar
Да, адаптивность сейчас это уже как стандарт
avatar
ort как скоро будут адаптированы плагины и шаблоны от ls-soft и ort?
avatar
Парни, как обновить бета-версия LS 2.0. до текущей версии??
В описании есть только информация по обновлению с 1х
avatar
обнови все файлы для начала
затем открой файл application\install\data\sql\patch_1.0.3_to_2.0.0.sql
Найди в нем примерную дату твоего последнего обновления (например какого-то октября — нашел такое yadi.sk/i/NAuM8Pus3CfPwk)
и все что-ниже — твой sql патч
avatar
Не получается (
Обновил перезалил и все перестало работать.

Очень жаль, что нельзя обновляться через ЛК админа.
avatar
Что именно делал, и что именно перестало работать?
avatar
Жаль, ч то нету шаблонов и модулей на продаже, пошел я на фриланс :(
avatar
Поздравляю! Огромное спасибо за работу! Мы очень ждали!
avatar
Сегодня рассматривали LS как движок для начала проекта. В будущем, при развитии предполагалось его либо заменить с переносом базы, либо существенно доработать. Однако полностью идея была зарублена, так как LS (как выяснилось) очень плохой вариант из-за отсутствия нормальной CEO. Вы можете создавать тонну контента, но ребята на банальном WP вас сделают с одной статьей в день.
avatar
К сожалению, я далек от CEO и не смогу назвать всех причин. Но соотношения рассматривались на примерах уже действующих сайтов на Joomla, WP, LS. Проверялось выдача в поисковиках Google, Yandex.
avatar
Слышал звон, но не знаю где он, или не видел, но осуждаю. SEO в большинстве свое вещь весьма магическая, но имею мнение, что в LS с этим проблем нет, если шаблон нормальный и немного (в прочем как везде) пошаманить с robots.txt и добавить sitemap.

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

Каждый подобный коммент, оборачивается халиваром в его зачатке, на мой взгляд, в нынешних реалиях главное поведенческие факторы и SMM, интеграция с гигантами, но это не про контентопомойки с 2000к хостами в сутки. Прежде всего нужно определиться какой вы проект делаете. После этого сразу станет ясно, какой движок вам нужен, а может быть и не нужен совсем.
avatar
Вы путаете гавно с мухами )))
Инфосайты естесно в выдаче выше, а их как раз и делают на WP, Жумле и прочих блого-движках.
А сео — это не мифическая штука, а контент и доверие пользователей + разные плюшки, которые помогают ускорить индексацию поисковикам.
LS — узконишевый проект, и поверьте, весьма неплох в плане СЕО.
А вот жисть текущего релиза и его будущее — это отдельная тема.
Проблема не качестве кода, или его готовности к использованию на рабочих проектах. Беда в том, что многие разработчики просто разбежались, активность ядра аудитории существенно снизилась, как и интерес к движку.
И если вам понадобиться существенно допилить проект на LS, готовьтесь к тому, что сложно будет найти исполнителя или будете ждать в очереди к старожилам(((
На этом все минусы и заканчиваются ;)
avatar
с сео в ЛС всё нормально, если приложить минимум усилий для доработки шаблона. Основная проблема сео именно в нём (в 1 версии, по крайней мере).
avatar
Поздравляю всех с релизом и главное ort . Как дела обстоят с адаптацией шаблонов с 1.0.3 до 2.0? Уже многие разработчики забросили их поддержку. Многим кто решиться обновляется придется платить сторонним разработчикам или самим копать. Хотелось бы какой-то мануал по обновлению на примере какого-то шаблона.
avatar
врядли будет обновление шаблонов тк в архитектуре фронтенда изменения глобальные. И шаблоны для 2, скорее всего, будут отдельными продуктами.
avatar
Поздравляю Всех, товарищи!
avatar
Всех поздравляю!
@ort — планируется ли официальный плагин или настройка в движке по умолчанию для системы рейтинга?
avatar
Дополню, планируется ли обновление мобильного шаблона для адаптации к 2.0?
avatar
Может кто из добрых людей подскажет как включить английскую локализацию на сайте в этой версии? Не разобрался.
avatar
как и в прошлой версии:
$config['lang']['current'] = 'en';
$config['lang']['default'] = 'ru';

Проблема только в том, что в дистрибутиве нет перевода en. Но на гитхабе версия уже содержит базовый перевод.
avatar
а админку как перевести на английский?
avatar
по-идеи так, сделать в плагине админки, рядом с языковым файлом ru.php admin\frontend\i18n копию файла ru.php и перевести русские слова на наглийский
avatar
Пощупал сегодня немного новую версию. Все круто, функционал крутой, многое добавлено чего не хватало, в восторге, множество приятных мелочей.

— Зря объединили фото и аватар пользователя. Лучше бы осталось как на 1.0.3, или дать админу право выбора.
— Упрощение рейтинга хорошо, но лучше дать возможность выбора админу «Какую систему использовать».
— Фотораму заменил бы на более универсальный скрипт слайдера, например bxslider.
— Очень порадовала возможность вставлять множество фотосетов, но теперь нельзя просто так взять и отказаться от основного редактора, оставив лишь фотосеты, или легко сделать упор на фото.
— По шаблонанам уже как-то высказывался, однако напишу еще раз. Понятно для чего сделан такой подход, это правда круто, но вы одним махом усложнили вход в разработку новым разработчикам, который и так не особо простой был. Теперь шаблоны будут делать только особо отчаянные адепты, новички просто забью, профи даже заморачиваться не будут и пойдут в WP/Opencart/Joomla etc.
— Не хватает less/sass.

В процессе работы наверняка много чего интересного всплывет.
avatar
— Фото и аву, скорее не зря, в прошлой версии наоборот многие возмущались непонятной двойственностью.
— Рейтинг, да, старый правильнее был. Но опять же шаг на встречу новичкам и получили + к упрощению накруток, имхо.
— На Фотораму тоже, помниться, просьб много было, видимо поэтому.
— По шаблонам тоже поддерживаю: порог вхождения здорово повысили.

В процессе работы наверняка много чего интересного всплывет.

Выплывает. Сейчас смотрю в конфиг шаблона на подключение компонентов и в исходный код: в исходном коде стили подключены в head, а js в конце body. А в конфиге компонент с js-ами подключается практически в самом начале. В чем тогда смысл? Я понимаю, что некоторые компоненты не будут работать без того же первоначально загруженного jqery и проч, может в таком случае стоило бы разделить js еще и на те которые необходимо загружать сразу, и те которые можно потом + из компонентов их как-то тоже в конец вынести?
avatar
js в конце body
в угоду Google PageSpeed
avatar
Я понимаю зачем скрипты выводятся в конце. Дело не в этом. Если смотреть исходный код страницы они подключены в её конце, тут все ок, но если смотреть конфиг шаблона, то компонент со скриптами подключается одним из первых, т.е. по факту получается, что хоть они и прописаны в конце страницы, но загружаются все равно одними из первых. Или я что-то упускаю…
avatar
по-моему там можно юзать async и defer
avatar
Не замечал, пересмотрю.
avatar
то компонент со скриптами подключается одним из первых

что ты имеешь ввиду?
avatar
Компонент ls-vendor содержит сторонние скрипты и в конфиге шаблона соньо стоит одним из первых, следовательно скрипты загружаются одними из первых, нет?
avatar
одними из первых, нет?

все верно.
может я не правильно понял, речь шла о загрузке скриптов из head\body. Все скрипты грузятся перед , устанавливается только порядок зависимостями. Скрипты, подключаемые в контенте имею аттрибут defer (смотри пример компонет editor)
avatar
перед </body> *
avatar
Возможно и я непонятно изьясняюсь. Что первым загружается компоненты или html страницы?
avatar
компоненты это компоненты html страницы
avatar
Т.е. при открытии к примеру главной страницы, загружаются компоненты присутствующие на данной странице и в очередности в которой они расположены на странице?
avatar
Что касается .tpl файлов, то да.

по сути, что ты напишешь
{include 'components/my_component/my_file.tpl'}

или
{component 'my_component' template='my_file'}

разницы нет.
avatar
если есть возможность, посмотри структуру шаблона плагина simple catalog от PSNet, поймешь о чем речь
avatar
Я просто думал, может сразу подгружаются все компаненты в очередности указанной в конфиге, а потом загружается страница где они просто «расставляются» по прописанным на странице местам.
avatar
Нет, они всего лишь сделаны для удобства структуризации (файлов, стилей), наследования, переопределения и т.д
avatar
Ок, понял, спасибо.
avatar
Суть загрузки компонентов (которые прописаны в конфиге) — подключить на все страницы сайта js и css всех объявленных компонентов в порядке их следования и зависимостей. Т.е. примитивная сборка всех js/css в один файл (при вкл мерже в конфиге) и подключение их в конце страницы.
ls-vendor ты можешь перенести в конец конфига, но все-равно он будет грузиться одним из первых, т.к. в других компонентах приписана зависимость от него.
avatar
Т.е. я правильно понимаю, что сторонние скрипты грузятся до загрузки всех стилей?
avatar
css загружаются вверху страницы, js внизу
соответственно не важно — сторонний скрипт или нет, в большинстве случаев он будет загружен после стилей
avatar
Т.е. сразу загружаются стили из всех компанентов в head, а потом, после загрузки основного контента, загружаются все скрипты из компонентов? Я думал просто что компоненты загружаются целиком в прописанной последовательности.
avatar
да, я же в одном из комментов описал, что из себя представляет загрузка компонентов
ты посмотри исходный код страницы
avatar
Может упустил, но ок разобрались да разобрались. :) А вопрос и возник из-за того, что я глянул в исходный код, а выше писали, что компоненты загружаются в прописанной последовательности. Я просто не учел, что разные их части могут загружаться в разное время, думал компонент грузится целиком, за ним следующий и т.д.
avatar
М.б. даже не в угоду, так правильно, так должно быть.
avatar
По мне, так было хорошо раньше, можно вставлять и аву и фото, ава это ава, фото это фото, тут все понятно. Считал что LS пойдет в более социальную сторону, и фото, наоборот расширяется как модуль «Много личных фото».

А в конфиге компонент с js-ами подключается практически в самом начале.

Скорее всего не доработка. Добавленные css и js должны по идеи грузится после дефолтных.
avatar
Добавленные css и js должны по идеи грузится после дефолтных.
так и есть, здесь речь о другом
avatar
— Фотораму заменил бы на более универсальный скрипт слайдера, например bxslider.
это очень легко сделать своим плагином или шаблоном.

по шаблонам — можно использовать старую структуру, внеся лишь небольшие правки.
avatar
что происходит при отрисовки шаблона?

загружается файл шаблона /actions/ActionНазвание/эвент.tpl
и далее уже ваш выбор:
подключать header.tpl и footer.tpl, в которых расписан верхний и нижний код страницы
или layout.qwerty.tpl в котором расписан код всей страницы, с разбивкой на блоки которые можно заменять\дополнять из файла эвента
avatar
по компонентам, если хотите изменить структуру html
копируете папку с компонентом в свой шаблон и меняете
если хотите поменять только стили — пишите свои стили в файле css шаблона.
avatar
если при создании шаблона возникнут какие-то вопросы, пишите в личку — постараюсь помочь :)
avatar
По стилям: лучше наверное копировать компонент, оставлять в нем стилевой файл и редактировать его, чтоб не дублировать стили.
avatar
как угодно, если идет речь о «пороге вхождения» я указал самый простой пример
avatar
Тогда возвращаемся опять к проблеме адаптации плагинов (если и прежней структуры придерживаться), которую должны были уменьшить введением компонентов. Но я что-то честно говоря так и не понял, чем они упростили эту проблему…
avatar
по собственному опыту скажу, что я понял это лишь в процессе создания первого приложения на основе фреймворка лс
avatar
Может с фреймворком есть какие моменты, но при разработке плагинов для ЛС разработчики по-прежнему ведь будут ориентироваться на тот же соньо и соответсвенно придерживаться той же разметки и стилистики, соответственно при установке другого шаблона проблемы адаптации никуда не уйдут.
avatar
для этого и сделаны компоненты.

вот смотри пример на маленьком плагине:
код для 2.0 — github.com/gowebpro/lsp-userstatus
код для 1.0 — github.com/gowebpro/lsp-userstatus/tree/ff1897cdd73571f46878d5282bc53ff0685706ab
сравни.
avatar
А что будет, если я перепишу в своём шаблоне разметку для той же кнопки? Плагин будет подтягивать компонент моего шаблона (если такой есть) или будет брать из движка?
avatar
при «загрузке» компонента движок сначала смотрит в плагине, потом в шаблоне, потом в приложении, потом в фреймворке.
переопределить шаблоном компонент плагина боюсь не получится (а жаль) =)
P.S. github.com/livestreet/livestreet/wiki
avatar
Вернёмся к плагину и его кнопке ;) во фронте плагина подключается компонент кнопка (как пример) с определенными параметрами (mods, classes, проч.). В плагине такого компонента нету, движок смотрит в шаблон. А в шаблоне я эту кнопку безбожно переписал по-своему и параметров таких какие передаёт плагин там нету и проч., следовательно для корректной работы в плагине придётся это дело подкоректировать, т.е. сделать ту же адаптацию… В общем получается, для максимальной совместимости шаблонов и плагинов необходимо придерживаться «коробочной» структуры шаблонов.

ПС: Вики читал, нюансы для себя пытаюсь уяснить.
avatar
Плагином я подключаю кнопку, которая должна отрисоваться в соответствии с шаблоном.
Если я не хочу кнопку в стиле шаблона, я могу не использовать компонент (или написать свой компонент наследуемый от исходного) и задать свое оформление.
avatar
минимум достаточно задать через classes класс, которым могу переопределить все нужные свойства стиля и по барабану кто где там что переопределял.
avatar
Так в моей измененной кнопке в шаблоне классов нету :)
avatar
попытаюсь дать более менее внятный пример.

в моем плагине выводится форма.

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

сейчас я вывожу компонент (input например, или ту же кнопку) и не заморачиваюсь за разметку с оформлением, потому что она автоматически подхватывается в соответствии с шаблоном
avatar
то есть в одном шаблоне пишут так
<p>
  <label for="field">Поле</label>
  <input id="field" name="field" type="text">
</p>

в другом так
<div class="form-group">
  <label for="field">Поле</label>
  <input id="field" name="field" type="text" class="form-control">
</div>

в третьем так:
<div class="my_custom_field_class_for_field_box">
  <div class="my_custom_class_for_field_label">
    <label>....</label>
  </div>
  <div class="my_custom_class_for_field_body_wrapped">
     <div class="my_custom_class_for_field_body_input">
       <input ... my-super-attribute="my-super-attr-value">
     </div>
  </div>
</div>


и под каждый шаблон нужно писать в плагине разметку.

а теперь я пишу так
{component 'field.text' ... }

и не заморачиваюсь за выше написанное
avatar
Это я прекрасно понимаю, только вот что случиться если этот компонент в шаблоне прописан ну совсем по-другому, одбросим кнопку или инпут и возмем что-нибудь более сложное. Может ведь получиться несовместимость которую надо будет устранять путем правки тех же файлов шаблона плагина, т.е. как минимум задать компоненту в плагине другие параметры.
avatar
параметров classes mods должно хватить для этого.
речь то идет именно о часто используемых компонентах, типо полей форм или кнопок. то есть о вещах, которые должны соответствовать единому виду на всем сайте.
avatar
Извините что вмешиваюсь ;), но наверное vOFFka имеет ввиду специфичную HTML разметку, т.е. к бутстапу клонит )
Наверное, придётся дублировать почти 50% компонентов в шаблоне…
avatar
посмотрите в шаблон synio.
вы переопределите (не продублируете) сколько угодно процентов компонентов в своем шаблоне (то же самое делается при написании шаблонов для 1.0 — вы также переписываете разметку)
а плагины работают как и работали, они не зависимы от спецификации разметки шаблона — они автоматически ее используют
avatar
Т.е. получается, если плагин будет использовать только коробочные компоненты, то и нужды в адаптации никакой нет?
avatar
В этом весь смысл
avatar
Тогда напрашивается плагин — «построитель» плагинов )
avatar
шаблонов уж тогда…
avatar
Да не, я в последнее время от него как-то немного ушёл, использую только сетку. Это больше так, теоритические размышления на счёт того, чего в последствии ожидать на практике. :) Ладно, время покажет.

ПС: А Бутстрап-то, говорили, будет подключаться буквально парой несложных действий...)))
avatar
ПС: А Бутстрап-то, говорили, будет подключаться буквально парой несложных действий...)))
так и есть, но это не касается разметки =)
avatar
Если не касается разметки, смысл его подключать?
avatar
как стилевую базу?
avatar
Ну это малая часть Бутстрапа, сетка, типографика, нормалайз…
avatar
бустрап это же css фреймворк? (ну +js виджеты)
avatar
Я до сих пор не понимаю зачем было изобретать велосипед, можно было много чего из бутстрапа включить в LS…
avatar
бутстрап это фреймворк.
лайстрит это фреймворк.
где-то есть коммент от @deniart (или @ort) о том, почему не взяли бутстрап (из-за жесткой привязки js к классам).
со временем, я понял что оно и к лучшему. Но компонент grid я всё равно каждый раз переопределяю сеткой бустрапа =)
avatar
Согласен, его и не нужно было брать, достаточно своего необходимого минимума. Но подключение попроще сторонних фреймворков можно было бы наверное сделать. Возвращаясь к разговору выше о подключении Бутстрапа к шаблону: сделать просто и красиво не получится, либо подключать через хуки, как писал Орт, либо подключать двумя компанентами — в одном стили, в другом скрипты и рассовывать их в нужные места в конфиге среди других компонентов.
avatar
компонент:
github.com/livestreet/livestreet-boilerplate/tree/master/application/frontend/components/bootstrap
подключение:
github.com/livestreet/livestreet-boilerplate/blob/master/application/frontend/skin/bootstrap/settings/config/config.php#L16
это как 1 вариант.

вариант 2 — подключайте как раньше. положили в шаблон, подключили конфигом.
avatar
Выше же писали уже, что его необходимо подключать до компонентов ЛС, иначе стили переписываются. А точнее, его стили необходимо подключать первыми (выше решили созданием компонента и прописыванием его первым в конфиге), а его js должен грузиться после загрузки jquery (можно отдельным компанентом прописать после ls-vendor). Итого, подключение двумя компонентами.
avatar
подключать до компонентов ЛС, иначе стили переписываются.
а ты его подключаешь не для того, чтобы переопределить ЕГО стилями движоковые? зачем тогда он нужен?
avatar
Нет, подключаю его как основу. Если подключаю полный, то как основной каркас использую с возможностью быстро перекрасить со страницы кастомизации. А уже поверх его пишу, то чего не хватает.
avatar
где-то есть коммент от @deniart (или @ort) о том, почему не взяли бутстрап (из-за жесткой привязки js к классам).

Доводы там правильные, сам против бутстрапа как такового. На работе приходится иногда использовать, просто режу все, что не надо на этапе сборки css, js подключаю рекваером, и потом собираю в один файл, при необходимости добавляю нужно, ну и свое.
avatar
По стилям: лучше наверное копировать компонент, оставлять в нем стилевой файл и редактировать его, чтоб не дублировать стили.

Нет, не лучше, имхо, лучше стилевой файл дефолта убирать и писать свой, опираясь на свою базу. Ваш вариант хорошо подходит для возможно шаблонов, каких то быстрых проектов, но когда мы делаем свое с «Нуля», это только мешает. Не суть конечно, можно делать по разному.
avatar
Ну это уже частности. )
avatar
Это понятно, что заменить не проблема, тут сложностей нет как таковых, просто почему бы если в коробке есть «Возможность делать слайды», не использовать универсальный инструмент. Против фоторамы ничего не имею, работа шикарная, но не универсальная под все случаи. Не буду говорить за всех, но я буду ее менять в своих проектах точно.
avatar
По менюшкам еще пройдусь, если позволите. Вроде же хотели в этой версии их упростить и от многоэтажности немного избавиться, если я правильно помню. А что в итоге? Убрали коллективное и персональное и сделали еще немного хуже…

Теперь по-порядку. Главная для гостя:



Практически пустая область сверху.

Для зарегистрированного пользователя:



Добавился аппендицит в виде пары кнопок.

Предлагаю рассмотреть следующий вариант: поиск и кнопку создания вынести в другие области (верхняя напигационная панель, сайдбар, меню топиков...), меню Все/Лента убрать перенеся Ленту в меню топиков. Таким образом можно будет убрать эту полупустую плашку и один этаж меню. Да и логичнее немного получится: Топики > Интересные, Новые, Обсуждаемые, ТОР, Лента. У Ленты можно выводить количество новых топиков в ленте.

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

Следующий момент — блоги. Здесь, по-моему, все совсем плохо с меню получилось. Во-первых:



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

Далее, периоды:



А они раз, и появляются после описания блога, с разрывом от меню к которому они относятся… Предлагаю: меню топиков блога перенести на прежнее место (под шапку блога), а периоды как и выше писал — на дропдауны повесить.

По меню периодов баг есть какой-то, кстати: сразу загружается надпись «интересное», которая потом меняется на период.

Ну и профиль пользователя, страница его материалов, тоже нелогичность: сначала вверху меню, а потом «Публикации»:



Оно ведь помимо нелогичности еще и визуально теряется для взгляда, по-моему. Прежний вариант был лучше.

Итого: в результате можно получить вполне человеческую, понятную и одноэтажную менюшку. :)
avatar
как раз поле для творчества в новом шаблоне )
avatar
Это не вопрос, но хотелось бы чего-то подобного из коробки, объясню почему: для предыдущей версии делал попытки что-то упростить для полььзователей, в итоге получал негодования из-за того, что необходимо все это аналогично менять и в плагинах, они-то пляшут от коробочного шаблона… А так, возможно, в итоге будет всем проще.)
avatar
Меню — одно из самых муторных мест в LS.

Может сделать как в WordPress? Области для вывода менюх и удобный инструмент по их сборке?
avatar
А вот это было бы вообще шикарно.
avatar
Меня давно возбуждает ) менюшка на behance.net — все под рукой и на одном этаже…
avatar
Баг: в шаблоне developer, в юзербаре, ссылки на создание блога и сообщения не те.
avatar
А слияние css и js работает? Куда сохраняются файлы?
avatar
\application\tmp\templates\cache
avatar
Чет у меня туда ничего не попадает (на локалке).

А компрессию убрали или я ее не нашел просто?
И попутно вопрос про папку compiled: можно как-то отключать временно создание фалов? Чтобы при работе с шаблоном не приходилось подчищать ее регулярно.
avatar
yadi.sk/i/9qjS6Ze83Dsxgm or
/**
 * Модуль Asset
 * Параметры обработки css/js-файлов
 */
$config['module']['asset']['force_https'] = true; // При использовании https принудительно заменять http на https у путях до css/js
$config['module']['asset']['css']['merge'] = true; // указывает на необходимость слияния css файлов
$config['module']['asset']['css']['compress'] = false; // указывает на необходимость компрессии файлов. Компрессия используется только в активированном режиме слияния файлов.
$config['module']['asset']['js']['merge'] = true; // указывает на необходимость слияния js файлов
$config['module']['asset']['js']['compress'] = false; // указывает на необходимость компрессии файлов. Компрессия используется только в активированном режиме слияния файлов.
avatar
Эта запись в config.php? У меня почему-то только в config.local.php есть следующее:

/**
 * Параметры обработки css/js-файлов
 */
$config['module']['asset']['force_https'] = true; // При использовании https принудительно заменять http на https у путях до css/js
$config['module']['asset']['css']['merge'] = false; // указывает на необходимость слияния css файлов
$config['module']['asset']['js']['merge'] = false; // указывает на необходимость слияния js файлов


А в админке, да, нашел сейчас.
avatar
И попутно вопрос про папку compiled: можно как-то отключать временно создание фалов? Чтобы при работе с шаблоном не приходилось подчищать ее регулярно.
yadi.sk/i/s0QppJiq3DtJNz
включите обе (но достаточно первой)
avatar
Спасибо. С одной включенной первой опцией периодически приходится чистить папку.
avatar
Баг: в Соньо блоги в шапке топика обернуты в ul, но к ним нету li.
avatar
опиши подробнее
avatar
avatar
Линк, если не видно: yadi.sk/i/MRmRVG4O3E52VH
avatar
fix
avatar
Парни, возникло несколько вопросов!

1 — Как в страницах (статических) сделать возможность писать HTML код ( расширенный вариант а не упращенный как в кастомном варианте)

2 — Как сделать возможность прикреплять файлы различных форматов (ворд пдф и зип) в загрузчике медиафайлов
avatar
Из коробки есть адаптивные шаблоны? Или как всегда самим с нуля пилить?
avatar
Из коробки адаптивного шаблона на данный момент нет.
avatar
Ребята, подскажите пожалуйста, где тут хранится CSS? Хочу поменять цвета кнопок и некоторое переделать, смотрел ксс шаблона, но там не то пальто. Через исходный код показывает местоположение, но там кэшируемый… Где же его найти??
avatar
Во-первых, отключите кеширование, слияние и компрессию файлов для того чтобы видеть местоположение и не очищать папки кеша пока работаете с шаблоном. Во-вторых, в двойке реализована система компонентов, сейчас все стили не лежат в одном файле (или нескольких), а находятся каждый в папке своего компонента. Так, для кнопок необходимо искать стили в компоненте «buttons».

Из этого топика: Документация по новой структуре фронта — github.com/livestreet/livestreet/wiki + в дистрибутиве идет плагин docs с доками по каждому компоненту. Почитайте.
avatar
Спасибо большое за помощь и советы ;)
avatar
Но блин, появилась проблема. Изменяю CSS компонента, а внешне оно никак не изменяется… Кэширование отключено.
avatar
еще есть кеш браузера
avatar
отключите кеширование, слияние и компрессию файлов + очистить папки кеша перед началом работы
avatar
Баг: файл application\frontend\skin\synio\components\uploader\css\uploader-info.css, строчка 33, вместо 100px необходимо 140px.

avatar
какой браузер?
avatar
Лиса.

Там для инфы о фото задана min-height в 100px по высоте авы, но не учтены padding в 20px сверху и снизу.
avatar
в том-то и дело, что padding учитывается и получается 140
у себя баг не могу воспроизвести, проверил в фф и хроме
avatar
Упс, извиняюсь, я сетку Бутстрапа подключал, он на все элементы навешивает box-sizing: border-box; отсюда и вылезает этот момент.
avatar
Ответь пжт, я тебе написал в ЛС.
avatar
Баг в сообщениях: немного некорректно работает счетчик сообщений. Если пользователю отправить сообщение, и прокомментировать его до того, как пользователь прочтет само сообщение он в шапке сайта увидит, что у него два новых сообщения, а при переходе на страницу всех сообщений увидит только одно новое (1+1), т.е. здесь в счетчике выводится количество комментариев без учета самого сообщения (топика).
avatar
а вроде так всегда и было
avatar
Раньше не обращал внимания, сейчас просто вестал счетчик и заметил, что на нем одна цифра, а в шапке другая. Начал искать потерянное сообщение :), пока не понял в чем дело.
avatar
* вестал = верстал
avatar
Проблема в текстовке:



21 минуту
avatar
Страница пользователей.
avatar
fix
avatar
Ребятки. Подскажите еще пожалуйста по 2.0
Как вместо интересного, вывести «Топ»? Старый способ к 1.0.3 тут не канает. Был бы благодарен :)

P.s. Извините, если тут нельзя спрашивать… Считаю глупо создавать топик для таких скромных вопросов.
avatar
Был бы еще раз совету, как добавить блок. и где находятся шаблоны футера и хеадера. Варианты решения от 1.0.3 как то не подходят..)

Вообще плохо, что нет какого-то FAQ.
avatar
avatar
Когда сайт LS будет переведен на LS 2.0?
avatar
Новый современный стандартный шаблон для LS 2.0 просто необходим. Если конкурса не будет, то как вариант ort может заказать шаблон у LeX прошлый его шаблон был очень даже не плох.
avatar
Ребят подскажите пожалуйста, вот в чем дело: У нас есть проект созданный на бете LS 2.0, где много контента (порядка 1000 тем только + комментарии и прочее). Какие способы существуют для эффективного обновления до релизный версии?
У нас есть свои предположения, в ручную переносить базу, но это очень долго. Может есть что-то еще..?
avatar
Поддерживаю вопрос у самого такая же проблема…
avatar
выше уже отвечали
avatar
смотрим в /install/data/sql/patch_1.0.3_to_2.0.0.sql различия между установленной версий и релизной 2.0. Выполняем в БД добавленный sql и получаем готовую БД, осталось только установить релиз и сменить БД на обновленную.
avatar
Подскажите, пожалуйста, 2 момента:

1. Где поменять, чтобы по Enter вставлялся параграф, а по Shift+Enter — строка?
2. Почему при использовании тегов h2,h3 в редакторе отображается все нормально, а при сохранении — стиль текста не меняется (выглядит как обычный текст, не как заголовок)
avatar


вот по второму моменту оказывается, что теги из редактора не парсятся при публикации.
avatar
1. настройки tinymce лежат в /framework/frontend/components/editor/js/editor.visual.js, менять их можно при инициализации lsEditor в /application/frontend/skin/synio/assets/js/init.js
2. эти теги не доступны в топиках, убрал из редактора — github.com/livestreet/livestreet-framework/commit/22f69b9bae19047ae2a09acb03048defedf8726c
avatar
А какой смысл в запрете использования H2 и H3 в теле топика?
avatar
для топиков доступны три уровня заголовков — H4, H5, H6. Более крупные заголовки используются уже самим шаблоном, в том числе для seo
avatar
А мне они наоборот нужны были)) Теперь придется обратно добавлять.) Я все-таки склоняюсь к «правильному» SEO, когда h2 и h3 являются заголовками в тексте и отсутствуют в других частях страницы, кроме контента.
avatar
h1 — заголовок топика на странице топика
h2 — заголовок топика в списке топиков
h3 — заголовки блоков в сайдбаре
Соответственно, в тексте топика можно юзать начиная с h4.

Хотя кто-то здесь писал, что следует убрать h3 из заголовков в сайдбаре…
И даже в таком случае (при отсутствии h3), уже не имеет значения использовать в тексте топика начиная с h3 или h4.
avatar
h1 — используется для заголовка топика — это да, 1 на странице
h2 — используется для заголовков внутри поста.
h3-h6 — тоже, что и h2, но уровнями ниже.

То есть, по правилам SEO, h2-h6, по идее, должны использоваться только в тексте поста, но никак не в сайдбаре или где-то еще.

LS — это единственная CMS, где я впервые столкнулся с тем, что в тексте заголовки начинаются с h3. Поэтому и спрашиваю, что хочется привести все к привычному виду.))
avatar
еще раз: в зависимости от того, какая страница (сам топик или список топиков) для заголовка топика используется h1 или h2 соответственно
link1 link2
avatar
это хорошо и правильно. Но разве это мешает использовать h2 в тексте топиков? А то получается, что на странице топика вообще h2 нет.
И я тоже считаю, что использовать заголовки h не в теле топика не хорошо.
avatar
Поддержу. Добавьте функционал, а пользоваться или нет — пусть юзвери сами решают. ПС не накладывают фиксированных ограничений на использование заголовков. Можно даже несколько H1 использовать.
avatar
Есть проблемы с заполнением полей регистрации:

1. При вводе некорректного адреса почты выводит ошибку «Введите адрес электронной почты.», хотя должно бы что-нибудь типа: «Поле E-mail не соответствует формату email адреса».

2. Не совсем хорошо работает проверка полей пароля и повторения пароля при регистрации. Так, например, подсказки о неправильности заполнения появляются только после сабмита, потом уже срабатывают на лету. Текстовка у повторения пароля не совсем очевидная: «Это значение должно совпадать.» С чем должно совпадать?

3. У капчи появляется нотис только если поле не заполнено, о том что оно заполнено неправильно нотиса нету даже после сабмита формы.
avatar
1. fix
2. fix текстовки
3. fix
avatar
2. fix текстовки

А фикса появления подсказок не будет?
avatar
fix
avatar
На странице профиля в шаблоне synio в разметке присутствует пустой тег заголовка:





Хорошо бы каким условием обернуть, чтобы не выводился.
avatar
Правильно ли понимать что в приложении можно вообще не юзать компоненты фреймворка?
И в таком случае могут ли работать шаблоны со «старым» лэйаутом а-ля 1.0.3 (теоретически)?
avatar
Правильно ли понимать что в приложении можно вообще не юзать компоненты фреймворка?
может не использовать

И в таком случае могут ли работать шаблоны со «старым» лэйаутом а-ля 1.0.3 (теоретически)?
нужно как минимум перейти от header/footer на использование {extends 'layouts/layout.base.tpl'} + местами менялась структура самого шаблона и связанного с ним кода
avatar
Пост из разряда предложений. В форме создания статьи, когда вставляем картинки, почему бы не сделать поддержку GIf? Сейчас единственный способ размещения анимированного изображения, это залить его куда-нибудь на сторонний хостинг и вставить через ссылку. Это не удобно, да и надежности все стороннее не вызывает.
avatar
fix
avatar
ort будет ли решена проблема с низкой производительностью LS 2.0? Это же не нормально, что LS 2.0 тормозит, а LS 1.0.3 летает.
avatar
Я более медленной работы не заметил
avatar
avatar
У меня сложилось обратное впечатление, через несколько дней постараюсь написать, что получилось, плюсы и минусы по сравнению со старой версией.
avatar
Окей.
avatar
Подскажите, как сделать изображение превью для топиков, в шаблоне topic есть код для превью
{$previewImage = $topic->getPreviewImageWebPath(Config::Get('module.topic.default_preview_size'))}

{if $previewImage}


{/if}
avatar
Разрешить превью для нужного типа топика и при редактировании топика его загрузить
avatar
Спасибо нашел, в админке в разделе типы топиков
avatar
Еще можете подсказать. А где хранятся настройки с админки? Менял в конфиге не отменяет слияние файлов. Еще возникла проблема в шаблоне девелопер. При отключении слияния и компресии файлов, а потом включении появились две ошибки в яваскрипте, теперь не могу войти на сайт из-за ошибок. prntscr.com/eayxaj
avatar
В таблице storage
Можно просто удалить строчку admin из файла /plugins/plugins.dat
avatar
По самой ошибке — на скрине ничего не видно. Можно попробовать очистить весь кеш в /tmp/
avatar
@ort
Добрый день!
Ожидается ли подробное FAQ по LS2.0? Чтобы полностью охватить работу движка, как, где и что настраивать, как создавать топики, их категории, группы сообщества и т.д и т.п. У всех движков, с которыми работал, есть такое в обязательном порядке и из коробки, у LS к сожалению нигде не нашёл, кроме FAQ для разработчиков на сайте.
avatar
Есть ли возможность самостоятельно редактировать название и описание разделов в админке LS 2.0, убрать тени, изменить дизайн и так далее?
avatar
Баг: В комментах не работает TinyMCE.
avatar
fix
avatar
Подскажите пожалуйста, как в шаблоне для разработчиков в основное меню, которое находится под шапкой, добавить свое выпадающее меню. Был бы крайне благодарен!
avatar
Или хотя бы где его в шаблонах найти
avatar
пример добавления через хук — github.com/livestreet/lsplugin-page/blob/master/classes/hooks/HookMain.class.php#L39
avatar
А можно ли путем редактирования шаблонов? Хук для меня пока что сложно. После просмотра вопросов стало еще больше(как создать, где разместить, где прописать, как правильно в хуке прописать и т.д. и т.п.)…
avatar
меню в компоненте userbar
avatar
Вопросик по созданию и подключению своих компонентов: Добавляю новый компонент «topic-card», прописываю его в конфиге шаблона, создаю компонент, в его конфиге прописываю:

{
    "name": "topic-card",
    "version": "1.0.0",
    "dependencies": {
        "article": "*",
        "favourite": "*",
    },
    "templates": {
        "topic-card": "topic-card.tpl",
        "grid": "topic-card-grid.tpl",
    },
    "styles": {
        "topic-card": "css/topic-card.css"
    }
}


При попытке вывести в шаблоне таким образом:

{component 'topic-card.grid' topics=$topics paging=$paging}


Получаю ошибку:

Component template not found: topic-card/grid.tpl


В чем я ошибаюсь?
avatar
Попробуй убрать лишние запятые из json
avatar
Упс… Благодарю. :)
avatar
И попутно вопросик: каким образом можно убрать сайдбар со страницы? Т.е. подскажите аналог прежнего
{assign var="noSidebar" value=true}
.
avatar
По этому вопросу отбой, разобрался.
avatar
Баг, не баг… не знаю даже: Если добавить топик в несколько блогов один из которых закрытый, топик видят все. Может в данном случае у закрытого блога приоритет выше стоит сделать?
avatar
т.е. предлагаешь не показывать топик в открытом блоге, куда он опубликован? )
avatar
Предлагаю обсудить. :) Мне-то не принципиально, но если логически рассуждать, то у закрытого блога приоритет по идее должен быть выше, соответственно да, надо прятать. Но это имхо, естественно.
avatar
Если не показывать в открытых, то и смысла их указания при публикации нет.
avatar
Блин, так тоже вроде все правильно… :)
avatar
В админке есть настройка «Использование счетчика GA». А где вставить сам код счетчика?
  • Mac
  • 0
avatar
Тоже не могу разобраться куда вставить. А если у меня не GA а TagManager?
avatar
Если я правильно понял, то сюда
/framework/frontend/components/layout/layout.tpl
avatar
нет, в папку framework лучше вообще ничего не вставлять.
юзай /application/frontend/skin/_название_/layouts/layout.base.tpl
avatar
А зачем при установке сайта убрали возможность админу задать свой логин? Опять топики будут: куда залесть и где поменять… :)
avatar
чтобы никто не занял логин admin.
При желании можно сменить логин любого пользователя в админке.
avatar
Нашел еще проблему: пока не выяснял, что конкретно косячит, но была отключена проверка файлов перед компиляцией и включены компрессия css и js. В итоге сложилось впечатление, что у сайта отваливается js ибо все что с ним связано перестает работать. Причем на сайт даже невозможно войти, чтобы отключить все это. Один вариант — в файле plugins.dat убрать активированную админку.

ПС: на мобилке, в Хроме, сайт так и остался зависшим в состоянии ошибки, сбрасывание кешей браузера так и не помогло, буду признателен за подсказку о возможном решении.
avatar
Проблему удается воспроизвести?
avatar
Да, сейчас более подробно разобрался. Чудит компрессия js: включаем ее в админке > разлогиниваемся > чистим кеш > пробуем войти (или жмякнуть что-нибудь касающееся js)…

ПС: по Хрому на Андроиде, если кому нужно: убрать проблему можно переустановив приложение.
avatar
avatar
Воспроизвести так:
$config['module']['asset']['js']['compress'] = true;

В консоли ошибка JS
Uncaught SyntaxError: Unexpected token ;
Uncaught ReferenceError: ls is not defined
avatar
Проблема в самом минификаторе JS. Он не может правильно обработать файл jquery.js Минифицировал этот файл внешним ресурством, подсунул его в компонент ls-vendor вместо штатного, все заработало.
avatar
Скажите пожалуйста! Вот никак не пойму, как для главной странички сайта сделать вывод превью статей? Если взять файл topic.tpl он идет и как Базовый шаблон топика и Используется также для отображения превью топика. Т.е. мне нужно чтобы один файл tpl отвечал за превью на главной и один т.е. topic.tpl выполнял свою функцию. В старой версии было удобнее, тут не пойму.
avatar
Как вариант, добавить новый компонент — миниатюру, и выводить где нужно. Или к компоненту топик добавить еще один шаблон и прописать стили для него и вывод в нужном месте.
avatar
Когда мы от вас уже адаптивный шаблон к новенькому 2.0 увидим? и увидим ли вообще?)
avatar
Возможно, на этой неделе. ;)
avatar
Не поддерживаются emoji. Комментарий обрезается по первом символу emoji. Смена типа таблиц на utf8mb4_unicode_ci результата не дает.
  • Mac
  • 0
avatar
fix
avatar
Народ, а вот все косяки которые фиксятся, как обновить? Есть ли список файлов которые нужно заменить или как быть в этом случае.
avatar
avatar
А все фиксы будут доступны по этой ссылке??
avatar
Это ежедневная сборка. Думаю, что в сегодняшнюю вошли все фиксы до сегодняшнего дня.
avatar
Эта сборка старая, файл удалил.
Последняя версия пока доступна только на github
avatar
а ссылку можно ???
avatar
avatar
Установил движок скаченный выше и при утсановке плагинов выдается ошибка

— — Структура таблицы `prefix_lssoft_feedback` — CREATE TABLE IF NOT EXISTS `prefix_lssoft_feedback` ( `id` int(11) NOT NULL, `user_id` int(11) DEFAULT NULL, `user_name` varchar(100) DEFAULT NULL, `user_mail` varchar(100) DEFAULT NULL, `text` text NOT NULL, `date_create` datetime NOT NULL, `date_reply` datetime DEFAULT NULL, `text_reply` text, `ip_create` varchar(50) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; — -- Индексы сохранённых таблиц — -- — Индексы таблицы `prefix_feedback` — ALTER TABLE `prefix_lssoft_feedback` ADD PRIMARY KEY (`id`), ADD KEY `user_id` (`user_id`), ADD KEY `user_name` (`user_name`), ADD KEY `user_mail` (`user_mail`), ADD KEY `date_create` (`date_create`), ADD KEY `ip_create` (`ip_create`), ADD KEY `date_reply` (`date_reply`) USING BTREE; — -- AUTO_INCREMENT для сохранённых таблиц — -- — AUTO_INCREMENT для таблицы `prefix_feedback` — ALTER TABLE `prefix_lssoft_feedback` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
Fatal error: Class 'PluginLssoftFeedback_Update_dump.sql' not found in /home/users/j/j618147/domains/ios.iotgn.ru/framework/classes/modules/plugin_manager/PluginManager.class.php on line 558

Что нужно сделать???
Так же на главной странице там где разделы плагины жалобы и образения пропали картинки, там теперь просто квадратики, так и должно быть???
avatar
Качать нужно стабильный релиз или самому собирать с github
avatar
Баг. Пишем новый коммент к топику, затем жмем полное удаление коммента. Смотрим топик, коммента нет, а счетчик комментов показывает 1.
avatar
Тоже заметил
avatar
при обновлении вылезло в логах:
default.ERROR 14608 11e6ed6: Uncaught Exception Exception: "Undefined method module: GetLangJs" at C:\OpenServer\domains\livestreet\framework\classes\engine\Engine.class.php line 637 {"exception":"[object] (Exception(code: 0): Undefined method module: GetLangJs at C:\\OpenServer\\domains\\livestreet\\framework\\classes\\engine\\Engine.class.php:637)"}


вместо главной — пустой экран
avatar
разобрался, мой недосмотр. Скачивал не ту сборку. С релизной все ок.
avatar
Не могу понять почему капча пустая. Может у кого есть мысли, что у меня не так?
Не отображается капча.
avatar
Что-то с шаблоном делали?
avatar
Пару дней назад поставил cURL, после чего проверил, капча была. С тех пор изменений не вносил, а капча пропала.
avatar
У меня тоже такое было при первом запуске, кликнув на капчу появится картинка, в последствии при перезагрузке уже всегда есть. Не разбирался в причинах, но по быстрому можно написать в JS автоклик, лучше на колбеке после появления модалки.
avatar
Спасибо за совет. Проверил, кликаю, капча не появляется. Проверял в разных браузерах (плагины могли рубить только в FF, но и там для всех сайт в белых списках).
avatar
Попробовать для начала выключить плагин (что за он, кстати, и совместим ли с двойкой?) и почистить кеш, посмотреть появилась ли капча.
avatar
Плагин реализующий капчу? Никакой, использую базовый ф-ал.
Только доставил Плагин «Crypto Password». Кэш чистил.
avatar
Плагин реализующий капчу?

cURL

Попробуйте начисто движок поставить.

У меня во время работы над шаблоном было что пропадала капча, к сожалению, не запомнил в чем была причина, думал у Вас может что-то аналогичное было, помогли бы вспомнить…
avatar
Спасибо, попробую обновить. Мелким заплаток вышло уже много, а я и не чесался.
cURL — это часть модуля для PHP. По умолчанию на сервере не стоял.
avatar
Какой адрес сайта? Что в логах?
avatar
Приветствую!
Развернул LS 2.0 в vagrant scotch/box.
При попытке загрузить превью к топику в ответе на /ajax/media/create-preview-file/ приезжает:
<br />
<b>Warning</b>:  Illegal string offset 'preview_image' in <b>/var/www/public/application/classes/modules/topic/entity/Topic.entity.class.php</b> on line <b>923</b><br />
{"bUnsetOther":true,"sMsgTitle":"","sMsg":"","bStateError":false}


Что делать? Как быть?
avatar
avatar
Будет ли адаптация плагина «Main Preview» или как то его функционал можно заменить стандартными средствами в новой версии системы?
avatar
Так он уже в движке, включается в админке.
avatar
Если вы про превью изображения то это немного не то, сам плагин делал превью топиков очень удачно, выводил изображение из топика + текст небольшой. Тут же пользователь может либо загрузить превью либо нет, тем более выводится вся инфа из топика, не многие знают про
avatar
про кат
avatar
Плагин текста не выводил, он делал только превью заданных размеров, выводилось все самостоятельно в шаблоне, здесь аналогично нужно делать. Единственное, что не проверял ещё, делается ли превью автоматом из первого изображения топика.
avatar
Кусок топика можно в шаблоне таким образом вывести:

{$topic->getText()|strip_tags|truncate:100:"..."}


100 — колличество символов для вывода.
avatar
Все верно сказали а я и забыл как на старой системе выводил. Только превью автоматом то и не делается из первого изображения топика, вот если это как нить исправить было бы ваще круто!
avatar
Или добавление превью сделать неотемлемой частью при написании топика, т.е. пока автор не добавит превью то не сможет опубликовать топик.
avatar
Камрады, а есть в возможность включить раскрытие изображения на весь экран по клику в него (изображения, что выводятся в топике как отдельные, так и фотосетом)?
avatar
Если отдельные, то я просто делаю другой размер, не «оригинал», тогда лайтбокс работает.
avatar
Чет не пойму как тут обстоят дела с блогами, есть вроде в topic.tpl строчка
{$_blogs = []}

            {if ! $isPreview}
                {foreach $topic->getBlogs() as $blog}
                    {if $blog->getType() != 'personal'}
                        {$_blogs[] = [ title => $blog->getTitle()|escape, url => $blog->getUrlFull() ]}
                    {/if}
                {/foreach}
            {/if}

            {if $_blogs}
                <div class="{$component}-blogs">
                    {foreach $_blogs as $blog}
                        <a href="{$blog.url}">{$blog.title}</a>{if ! $blog@last}, {/if}
                    {/foreach}
                </div>
            {/if}

но она странно работает, если блог есть то выводится его название, но если написал не в блог то ничего не выводится. Ну я к примеру меняю
{if $blog->getType() != 'personal'}
на
{if $blog->getType() != 'personal'}
и вроде бы выводится Blog by admin(если статья не принадлежит ни одному блогу), но тогда не выводятся названия блогов у статей которые состоят в блогах. На 1 ветке было просто написать

<!-- вывод названия блога -->
					{if $oBlog->getType() == 'personal'}
						<a href="{$oBlog->getUrlFull()}" >{$aLang.topic_publish_to_personal_blog}</a>
					{else}	
						<a href="{$oBlog->getUrlFull()}" >{$oBlog->getTitle()|escape:'html'}</a>
					{/if}
					<!-- вывод названия блога -->

а тут чет странно както
avatar
ПОПРАВОЧКА

{if $blog->getType() != 'personal'}


на

{if $blog->getType() == 'personal'}
avatar
Тоже самое:
{if $blog->getType() != 'personal'}
       {$_blogs[] = [ title => $blog->getTitle()|escape, url => $blog->getUrlFull() ]}
{else}
       {$_blogs[] = [ title => 'Персональный блог', url => $blog->getUrlFull() ]}
{/if}
avatar
Так то все верно но не работает, ошибку выдает.C:\OpenServer\domains\ls2\application\tmp\templates\compiled\мой шаблон\fc582b4cb1469746ed2cc5bdb5baf64da5b5ab0e.file.topic.tpl.php
avatar
нужен текст ошибки
avatar
А как его посмотреть?
avatar
так же как и «C:\OpenServer\domains\ls2\application\tmp\templates\compiled\мой шаблон\fc582b4cb1469746ed2cc5bdb5baf64da5b5ab0e.file.topic.tpl.php»
avatar
всем привет. держите и мои поздравления.
у меня вопрос такой наверное очень банальный (пожалуйста не ругайте сильно)
почему на некоторых топиках отображается голосование в виде "-" «просмотры» "+" а на некоторых просто рейтинг с тултипом (в этих топиках нет нигде кнопок для голосования). Установил я ЛС2 и каждый топик идет с тултипом без кнопок голосования. подозреваю где-то настройка не могу понять где. подскажите если не трудно люди добрые)
и еще такой баг (не баг?), когда удаляешь какой-то комментарий (полностью), то счетчик комментариев топика не изменяется в меньшую сторону.
avatar
Автору топика не показываются кнопки голосования + голосование доступно ограниченное время (настраивается в конфиге)
avatar
А можно ли выставить так, чтобы кнопки "+" и "-" были видимыми всегда, но их активность была в зависимости от выставленных в конфиге настроек?
avatar
можно попробовать здесь github.com/livestreet/livestreet/blob/2.0.0/application/frontend/skin/synio/components/topic/topic.tpl#L161 выставить isLocked = false
avatar
Почему бы не заменить стандартную каптчу на такую?
avatar
$config['sys']['captcha']['type'] = 'recaptcha';
avatar
Хм, в LS есть сразу несколько вариантов, но меняются в конфиге? Не знал, спасибо.
avatar
У меня не работает если меняю на recaptcha
avatar
нужно зарегистрировать сам сайт в recaptcha и прописать ключи в конфиге
avatar
Не знал, спасибо попробую
avatar
Скажите а кнопку генерировать привью планируете добавить в админку? Я не нашёл этой опции, для тех кто переезжает со старой версии движка, или устанавливает новый шаблон — это актуально.
avatar
И ещё такой вопрос — что где отредактировать чтобы все URLы на сторонние ресурсы которые публикуются в комментах и топиках открывались в новых окнах? Может внесёте эту правку в LS 2.1
avatar
Еще такой вопрос, гугл вебмастер ругается что на новом движке отсутствует
reflang тэг — moz.com/learn/seo/hreflang-tag он отвечает за язык на котором пользователь ищет информацию,
т.е. как я понимаю нужен для более релевантной поисковой выдачи и меньшего числа
отказов. Как его добавить?
avatar
это только для многоязычных сайтов
avatar
ort почему баги не исправляются на гитхабе? Уже больше недели тикеты висят.
avatar
только не увольняй, он хороший =(
avatar
Доброго времени суток!
Есть замечательный плагин Page и в новой версии у него есть собсвенный блок с навигацией, отображаемой на статических страницах.
А как бы сделать вывод этого блока в сайдбаре на главной и на странице блогов?
avatar
$config['block']['rule_blog_page_structure'] = [
	'action' => [ 'blog' ],
	'blocks' => [
		'right' => [
			'structure' => [ 'params' => [ 'plugin' => 'page' ] ]
		]
	]
];

но работать не будет.

для того, чтобы заработало:
открываем файл \application\plugins\page\frontend\skin\default\blocks\block.structure.tpl
находим строку:
activeItem = $oCurrentPage->getUrlFull()

заменяем на:
activeItem = ($oCurrentPage) ? $oCurrentPage->getUrlFull() : false
avatar
вот то-то! у меня и не срабатывало простым редактированием конфига шаблона ))
теперь понятно, спасибо!
avatar
все-таки не сработало
в конфиг бока пробовал вставить и в конфиг шаблона (application/frontend/skin/../settings/config/config.php
и в конфиг фреймворка (/application/config/config.php)
— блок так и не показался ((
может не туда вставлял?
avatar
что именно не срабатывает то?
в моем коде выше я вывожу блок на страницы сайт.нет/blog/

если нужно на главную, то
'action' => [ 'index' ],


работоспособность вывода блока я проверил на локалке на чистой лс2 перед тем как публиковать коммент
avatar
вот кусок кода из конфига шаблона:
$config['block']['rule_index_blog'] = array(
    'action' => array(
        'index',
      'blog'
    ),
    'blocks' => array(
        'inner-sidebar' => array(
            'blogs'  => array('params' => array(), 'priority' => 1)
        )
    ),
    'clear'  => false
);

$config['block']['rule_blog_page_structure'] = [
	'action' => [ 'index' ],
	'blocks' => [
		'right' => [
			'structure' => [ 'params' => [ 'plugin' => 'page' ] ]
		]
	]
];

первый блок выводится, второй — нет.
Причем синтаксис оформления блоков разный в Вас и в исходном варианте конфига — может в этом проблема?
avatar
скорей проблема в шаблоне, который в качестве блоков сайдбара использует группу inner-sidebar а не right

попробуйте следующее:
$config['block']['rule_blog_page_structure'] = [
	'action' => [ 'index' ],
	'blocks' => [
		'inner-sidebar' => [
			'structure' => [ 'params' => [ 'plugin' => 'page' ] ]
		]
	]
];
avatar
так и есть. Мерси!
avatar
У меня есть два вопроса, и оба они касаются картинок.
1) Ситуация: Включили превью для статей. Получилось, что в новостной ленте на 1 странице 15 статей с 15 картинками. Как итог, вес всей страницы подошел к границе в 20 МБ. Это адская цифра для прогрузки веб-сайта. Исправить ситуацию можно банальным облегчением веса картинки. Однако в случае ручного вмешательства, когда у вас по 25 статей в день, то это получается пожиратель большого количества вашего времени.

Вопрос: Почему бы LS не обзавестись нормальным обработчиком изображений?

2) Ситуация: В статью залили изображение, например в 4К. Выбрав в графе “размер” значение “оригинал” мы получаем просто картинку на всю ширину страницы. Однако если выбрать какое-либо конкретное значение, то мы получаем картинку, которая по клику открывается на полное окно.

Вопрос: Как можно сделать так, чтобы независимо от того какое значение ты ставишь, по клику картинка всегда открывалась в фулл окно?
avatar
Провел эксперимент, где каждую из 15 превью картинок я вручную переконвертировал и залил в статью обычным образом. В результате, вес страницы уменьшился в 4.7 раза (470%). Это просто небо и земля.
avatar
1 — в конфиге же можно задать размеры и степень сжатия для превью
avatar
Ort, есть понимание, какие доработки будут сделаны в CMS к версии 2.1?
avatar
Будет версия 2.0.1 с исправлением проблем/багов.
avatar
Исправление ошибок очень хорошо, но интересуют доработки. В частности добавление ф-ал отвечающего за sitemap.
avatar
Присоединяюсь, sitemap реально нужен
avatar
sitemap добавлю на неделе
avatar
Ждём с нетерпением.
avatar
Когда планируется релиз?
avatar
Когда планируется релиз LS 2.0.1?
avatar
А что даст дата? Списка ф-ла нет, который появится с новой версией, что ждать не ясно.
avatar
Как скоро планируется выход новой сборки??
avatar
Появилась поддержка sitemap
avatar
avatar
в ядре на github
avatar
Попробовал поставить:
1. Скачал сборку с Github
2. Залил поверх на рабочий сайт
3. Прошёл процесс установки
4. Удалил install

Результат:
1. Главная страница белый лист
2. В логаx:
[2017-04-01 12:34:40] default.ERROR 29650 5f990e1: Uncaught Exception RuntimeException: "Class "ModuleSitemap" not found!" at /var/www/SiteName/framework/classes/engine/Engine.class.php line 427 {"exception":"[object] (RuntimeException(code: 0): Class \"ModuleSitemap\" not found! at /var/www/SiteName/framework/classes/engine/Engine.class.php:427)"}
[2017-04-01 12:34:40] default.ERROR 29768 8a5c6df: Uncaught Exception RuntimeException: "Class "ModuleSitemap" not found!" at /var/www/SiteName/framework/classes/engine/Engine.class.php line 427 {"exception":"[object] (RuntimeException(code: 0): Class \"ModuleSitemap\" not found! at /var/www/SiteName/framework/classes/engine/Engine.class.php:427)"}
avatar
фреймворк тоже обновить надо github.com/livestreet/livestreet-framework
avatar
Спасибо за совет, помогло.
avatar
Присоединяюсь к верхнему поста, так же интересно когда будет планируется выпустить релиз??
avatar
Почему бы не разрешить доступ к админке на демо сайте?
avatar
Ребят, подскажите пожалуйста — по умолчанию, топики выводятся в хронологическом порядке.
В пользовательских полях типа «Топик — Стандартный» можно добавить к примеру поле с типом «Дата». Как можно переключить вывод топиков, основываясь на коде этого нового поля? (Т.е. по сути, мы подменяем дату создания топика).
avatar
достаточно не просто сделать сортировку по доп полю у топиков
если нужно именно по дате создания (например, будущая), то уэто уже есть в коде — поле topic_date_publish
avatar
Вопрос по синтаксису в шаблонах: в экшене пытаюсь прописать условие на подключение нужного лэйаута в зависимости от конфига следующим образом:

{if Config::Get( 'view.topic_list' ) == 'masonry'}
    {extends 'layouts/layout.index.masonry-grid.tpl'}
{else}
    {extends 'layouts/layout.index.tpl'}
{/if}


В итоге вижу пустую страницу. В чем ошибка?
avatar
пустая страница значит ошибка в логе
avatar
Ругается на незакрытый if в livestreet\framework\frontend\components\layout\layout.tpl
avatar
{$layout = (Config::Get( 'view.topic_list' ) == 'masonry') ? 'index.masonry-grid' : 'index'}

{extends "layouts/layout.{$layout}.tpl"}


так попробуй
avatar
Unable to read template file 'layouts/layout..tpl'


Но направление понял, спасибо!
avatar
оптимально будет так я думаю

{$layoutName = {cfg 'view.topic_list'}|default:'index'}
{extends "layouts/layout.$layoutName.tpl"}
avatar
но название темплейта (между layout. и .tpl) должно соответствовать параметру view.topic_list конфига
avatar
это удобно если у тебя не 2 варианта (masonry и default), а многим больше. и можно расширять неограниченно
avatar
Так вот и возник вопрос, когда решил сделать больше вариантов отображения лент топиков. If'ы рассматривались не как самый лучший вариант, а временный. Универсальность подключения в приоритете. )
avatar
Так чет не выходит как Вы описали выше, заинтересовал ваш метод подключения ленты, сделал так > открыл actions > ActionIndex > index.tpl и заменил строчку
{extends 'layouts/layout.index.tpl'}

на
{$layoutName = {cfg 'view.topic_list'}|default:'index'}
{extends "layouts/layout.$layoutName.tpl"}


далее в config прописал
$config['view']['topic_list'] = 'masonry';


по сути должно у меня вместо layouts/layout.topics.tpl выводится layouts/layout.masonry.tpl
в котором я прописываю
{extends './layout.index.masonry-grid.tpl'}

{block 'layout_options' prepend}
{/block}


далее у меня выводится ./layout.index.masonry-grid.tpl
с навигацией и строчкой
{block 'layout_content'}
    <div id="container_masonry">
        {component 'topic_masonry.list' topics=$topics paging=$paging}
    </div>
{/block}

файл topic_masonry > list.tpl у меня выводит

{foreach $topics as $topic}          
              {component 'topic_masonry' template='topic_masonry' topic=$topic isList=true classes=$classes}
          {/foreach}

файл topic_masonry.tpl уже выводит ленту топиков

ВРОДЕ ВСЕ ВЕРНО! Но этот вот код выше не работает
{$layoutName = {cfg 'view.topic_list'}|default:'index'}
{extends "layouts/layout.$layoutName.tpl"}


если тупо поставить
{extends "layouts/layout.masonry.tpl"}
то работает! В чем может быть проблема!?
avatar
Я у себя в итоге немного иначе сделал: в экшенах ничего не менял, а в лэйаутах подключение нужных лент сделал так

{block 'layout_content'}
    {if Config::Get( 'view.topic_list' ) == 'default'}
        {$topiclistView = 'topic.list'}
    {else}
        {$topiclistView = "topic-card.{cfg 'view.topic_list'}"}
    {/if}

    {component "$topiclistView" topics=$topics paging=$paging}
{/block}


где topic-card — мой компонент с миниатюрами топиков и списками лент.
avatar
Еще вопрос вдогонку, если можно: как из компонента можно «выключить» сайдбар? Сейчас делаю это в файле лэйаута следующим образом:

{block 'layout_options' append}
    {if Config::Get( 'view.topic_list' ) == 'masonry_1'}
        {$layoutShowSidebar = false}
    {/if}
{/block}


Но, опять же, не хотелось бы городить дополнительные условия если разные ленты должны быть без сайдбара. Хотелось бы из компонента передавать переменную, пробовал так:

{block 'layout_options' append}
    {$layoutShowSidebar = false}
{/block}


в файле ленты (в компоненте) — не работает.
avatar
Можно попробовать в экшене определить глобальную переменную {assign var=layoutShowSidebar value=false scope="root"}
avatar
В экшене не пойдет.

У меня в компоненте присутствует несколько лент, некоторые из них должны выводится без сайдбара, вот и хорошо бы «выключать» сайдбар из файла самой ленты.

В других местах если — придется писать условия типа: если используются такие-то ленты, то…

Засунул

{assign var=layoutShowSidebar value=false scope="root"}


в файл компанента, сайдбар выключился странным образом… У меня есть несколько проверок

{if $layoutShowSidebar}


в разных местах. Видимо из-за этого. Что означает scope=«root»?
avatar
у тебя лента откуда вызывается?
avatar
Из экшена вызывается лэйаут, а из него определенный шаблон компонента.
avatar
определяй там где определяешь шаблон компонента так же и сайдбар — в
лэйауте
avatar
Так в итоге и делаю, но в таком случае приходится писать условия, думал может можно из шаблона компонента как-то решить. Ну нет, так нет.
avatar
vOFFka, а как вы сделали? писали условия типо если лента такая то и это index то не выводить или не выводить сайтбар в layout-base
avatar
Нет, просто в нужных лэйаутах писал:

{if Config::Get( 'view.topic_list' ) == 'masonry_1'}
        {$layoutShowSidebar = false}
    {/if}
avatar
Понятно! У меня немножко по другому.
avatar
Я правильно понял, если я к примеру в экшен index помещаю такой вот код
{$layoutName = {cfg 'view.topic_list'}|default:'index'}
{extends "layouts/layout.$layoutName.tpl"}

и в конфиге прописываю
$config['view']['topic_list'] = 'masonry';

то у меня должен выводится темплейт по адресу
layouts/layout.masonry.tpl
avatar
да
avatar
Чет не работает! Пустая страничка!
avatar
пустая страница значит ошибка в логе
avatar
Вопрос по размерам аватарок блога. В конфиге шаблона делаю так:

$config['module']['blog']['avatar_size'] = array(
    '1140x380crop',
    '500crop',
    '100crop',
    '64crop',
    '48crop',
    '24crop'
); // Список размеров аватаров у блога
$config['module']['blog']['avatar_size_big'] = '1140x380crop'; // Размер большой аватарки блога, которая будет использоваться на странице блога


В итоге загружаемые изображения обрезаются максимум до 1000 пикселей, а не до 1140-ка указанных в конфиге, но в любом случае с пропорцией соответствующей конфигу. В чем причина и как поправить?
avatar
И попутно вопрос: как можно сделать, чтобы ава блога выводилась только если загружена какая-то своя (т.е. дефолтную аву не выводить)?
avatar
можно проверять при выводе через {if $blog->getAvatar()}{/if}
avatar
Спасибо!
avatar
В экшене обработки аватарки блога зашито ограничение 1000px, не предполагалось, что аватарки такие большие могут быть. Предполагаю, что тебе нужен фот для блога — это лучше делать отдельным функционалом, иначе сама аватарка будет криво смотреться при таком ресайзе.
avatar
Хотел сделать что-то типа этого habrahabr.ru/company/mailru/
Да, мелкие авы при этом будут смотреться не ахти, но ими можно и пожертвовать.

А вообще, хорошо бы, чтобы с авами блога было тоже, что и в профилях — фото и ава, тогда на страницах блога можно было бы с ними делать что угодно, и мелкие нормальными нарезать.
avatar
В новой версии при адаптации плагинов не достаточно шаблон плагина обозвать так же, как и используемый на сайте, чтобы файлы из этой папки подхватывались? Что-то у меня только из дефолтной читает.
avatar
… ааа, это если шаблон активирован админкой, а не прописан в конфиге, тогда не подхватывается…
avatar
не могу воспроизвести, надо больше подробностей
avatar
Если в конфиге сайта задан шаблон synio, к примеру, а в админке установлен шаблон developer, то при адаптации какого-либо плагина к шаблону developer подхватываться будет папка default шаблона плагина.

Для того, чтобы подхватывалась папка шаблона плагина одноименная с шаблоном, установленным на сайте, необходимо задать шаблон в конфиге сайта, а не админкой.
avatar
Это я понял, но повторить не получается.
В конфиге прописан developer, через админку стоит synio. В плагине есть шаблон synio — плагин выводит именно его.
Возможно у тебя какая-то специфика использования плагина? Нужен код.
avatar
Может