
WebMan
В данный период я не оказываю услуг и не занимаюсь сторонними разработками
+434
Репутация
6108
Рейтинг
Другое дело, что можно сделать указание не одной версии CMS в патче, а диапазона версий. Либо сделать галку в настройках, типа "Разрешить применять патчи для более ранних версий системы". Или при применении более старых патчей выдавать запрос. Или сделать всё вышеперечисленное и гибко это сочетать.
Совсем простого решения нет. Можно перехватывать своим хуком вывод контента (всех типов или только нужного) и там решать, какие поля отдавать незалогиненным пользователям, убирая из массивов те, что нужно скрыть. Это будет костыль на время, пока появятся права гостей.
Кстати, если оставлять одну вкладку, то возникнет небольшая непонятка с адресом. Ведь адрес типа /users/admin/activity - это активность именно этого пользователя. А не его друзей. Будет нелогично, если по одному и тому же адресу будет видна совершенно разное содержимое. Для активности друзей адрес должен быть другим, например /users/admin/friends_activity или как-то подобно. И, в принципе, можно будет опционально отображать эту вкладку не только для своего профиля, а и вообще для всех пользователей, чтобы можно было посмотреть ленту, которую человек себе выбрал. Иногда это бывает очень интересно.
А видеть свою активность - очень удобно.
Одна вкладка с наборами - менее наглядно, не очевидно (нужно догадаться). И щёлкать нужно два раза, оба раза загружая страницу - и пользователю не удобно, и на сервер лишняя нагрузка.
Конечно показывать. Это один из способов быстро найти нужные материалы.
Воспроизводится так:
Если на только что установленном InstantCMS 2.4.0 с демо-данными под гостем зайти на вкладку "Лента" в профиле Администратора, то видна вся его активность.
Если залогиниться под Администратором, а потом зайти на ту же вкладку "Лента" в том же профиле Администратора, то вместо ленты пишет "Нет элементов для отображения".
По сути, лента активности видна под гостем или в профиле другого пользователя, не того, под которым зашёл. Если под любым пользователем посмотреть свою активность в своём профиле, то её не показывает.
Также поддерживаю возможность управления доступом определенных групп пользователей к сео данным. На больших проектах будет очень удобно, когда пользователи создают контент, а модераторы прописывают/правят СЕО.
На данный момент есть ещё одна оптимизация, увеличивающая скорость фронтенда на 5-20% в зависимости от типа и количества виджетов на странице. Я её использовал в своей "Расширенной отладке" и передал разработчикам. Если разработчики посчитают её корректной, то следующие версии Двойки будут ещё немного быстрее.
Например, для залогиненного админа
Главная страница (Единичка/Двойка), мс: 87 / 138
Страница с новостью (Единичка/Двойка), мс: 54 / 113
Не поленился поставить на локалку демо InstantCMS 1.10.6 и сравнить время создания страницы. Без кэширования. На обычной домашней конфигурации компа. Не претендую на идеальную объективность сравнения. Просто выбрал минимальное время после десятка обновлений страницы. На хорошем сервере время будет ещё раза в два меньше.
Для залогиненного админа
Главная страница (Единичка/Двойка), мс: 87 / 166
Страница с новостью (Единичка/Двойка), мс: 54 / 118
Для гостя
Главная страница (Единичка/Двойка), мс: 93 / 148
Страница с новостью (Единичка/Двойка), мс: 61 / 93
Разница по скорости всего в полтора-два раза! Кто-то ещё будет говорить про то, что первая версия годится для высоконагруженных проектов, а вторая - нет?
Кстати, первый релиз Двойки создавал главную страницу для админа на этом же моём компе за почти 800 мс. А сейчас 166. Оптимизация почти в пять раз! Молодцы!
Покажу, чем Вам, как разработчику шаблонов, может быть полезна "Отладка". Пару примеров. Совсем простой и просто простой.
Предположим, Вы дорабатываете шаблон для виджета категорий контента. И хотите понимать, какие данные можно в нём использовать для вывода или для других манипуляций. Это можно сделать несколькими щелчками мышки.
Установите "Отладку" на демо Двойки стандартным способом. Зайдите в настройки "Отладки" в Админке и убедитесь, что она включена. На вкладке "Виджеты" включите "Показывать виджеты", "Выводить в лог данные и результаты виджетов". В выпадающих списках выберите виджет 'categories' и контроллер 'content'. Сохраните настройки и зайдите на страницу с контентом, где есть виджет "Категории контента". Например, в раздел "Статьи" http://demo/articles.
Под страницей Вы увидите не просто массив с точными индексами для Вашего виджета, а и заполненые значения элементов этого массива. Причём содержимое массива будет актуально для открытой страницы, то есть будет содержать реальные данные, выводящиеся в этом виджете на этой странице. И если в Вашем коде что-то выводится не так, как должно было по Вашему мнению, Вы всегда увидите, есть ли нужные данные на этой странице и если есть, то какие они.
Под спойлером пример - часть этого массива на скрине:
В настройках "Отладки" отключите вывод виджетов, оставшийся из прошлого примера, и убедитесь, что разрешён вывод контрольных точек.
Теперь в файле \templates\default\controllers\content\item_view.tpl.php после строки
Вы наглядно увидите всё содержимое обеих переменных, которое передаётся в шаблон этой страницы:
Надеюсь, теперь Вам будет проще понимать, какие данные передаются в Ваш шаблон, какие элементы массива присутствуют и что именно содержат.