Zau4man

Zau4man

+1110
Репутация
19741
Рейтинг
#1 Автосохранение форм типов контента 1 октября 2024 в 11:21

 Def, проверил последнюю версию. Все работает. Попробуйте переустановить компонент. Проверяйте настройки компонента, их надо сохранить обязательно хотя бы один раз, смотрите в исходном коде страницы добавления материала, подключается ли скрипт /templates/modern/controllers/zdrafts/js/zdrafts.js

Если не поможет, обратитесь к специалисту.

#2 Автосохранение форм типов контента 1 октября 2024 в 10:13

 Def, да. Если интервал успел пройти и черновик сохранился. 

Если открыть, напечатать за 5 секунд и закрыть, черновик создаться не успеет

#3 Автосохранение форм типов контента 1 октября 2024 в 07:53

Небольшое обновление: учет интервала из опций (правка потерялась в прошлом пакете и опция игнорировалась, использовалось 30 сек) и небольшие улучшения в коде.

Прикрепленный файл
zdrafts20241001-1-0-3.zip 11 Кб
#4 Редактор Editorjs 1 октября 2024 в 06:40

 Def, именно так и написано в моем сообщении

если вы смените тип поля с html на editorjs с уже имеющимся контентом, при редактировании в редакторе вы увидите пустой экран

Zau4man

и

Вы всегда сможете в дальнейшем отказаться от использования этого поля, сменив его на html. Все тексты сохранятся

Zau4man
#5 Фильтр в таблицах админки "съедает" буквы. Как можно пофиксить? 1 октября 2024 в 06:38

 Def, есть там задержка. Пол секунды github.com/instantsoft/icms2/blob/bb96c18544148da1e58293812ded78890784160a/templates/modern/js/datagrid-vue.js#L428

Проверить легко. Откройте фильтр на компе 

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

Изображение

Букав много-много. Запрос — один. Чатику привет.

#1 Редактор Editorjs 30 сентября 2024 в 21:23

Приглашаю протестировать и обсудить поле Editorjs. Поле аналогично полю HTML, является дочерним от него, умеет все то же самое, только в нем принудительно используется только один редактор Editorjs. Официальный сайт редактора editorjs.io 

Изображение
Изображение
Изображение

ВНИМАНИЕ! Использовать только в новых типах контента. Используемая с полем библиотека преобразования блоков в верстку не умеет преобразовывать произвольный html код в блоки. Поэтому, если вы смените тип поля с html на editorjs с уже имеющимся контентом, при редактировании в редакторе вы увидите пустой экран.
По этой же причине редактор поставляется отдельным полем, а не редактором. Так как редакторы движка не могут повлиять на вывод поля при просмотре. А блоки Editorjs надо сперва обработать, «превратив» в верстку, которую потом можно отдать типографу на очистку.

В данный момент доступны только 5 типа блоков: встроенные параграфы, заголовок, изображение, список и разделитель. Поддерживается вставка объектов (ютуб, вимео, картинки и др.) через ссылку. 

Тестировалось на 2.16.2
Будет ли работать на более старой версии или default шаблоне не знаю.
Вы всегда сможете в дальнейшем отказаться от использования этого поля, сменив его на html. Все тексты сохранятся.

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

Поле не появилось бы без финансовой поддержки от CEH9I

Прикрепленный файл
editorjs20240927-1-1-2.zip 159 Кб
#6 Поле "Контент пользователя" 30 сентября 2024 в 20:57

 Happy, включите в настройках типа контента показ этого типа контента в профилях

Изображение

#7 [ЕСТЬ РЕШЕНИЕ] Оценка контента в 5 звёзд системе 30 сентября 2024 в 20:44

 disc, Доброго вечера. Проблема есть, но, видимо, из-за непопулярности опции уведомлений об оценках 

Изображение

с ней редко сталкиваются.

Добавлю скриншот проблемы

Изображение

Пока можете открыть файл github.com/instantsoft/icms2/blob/master/system/controllers/rating/actions/vote.php#L171 и в 171 строке замените

  1. string_lang('LANG_RATING_' . $direction),

на

  1. $direction ? string_lang('LANG_RATING_' . $direction) : '',

И, получается, если направления голосования нет (т.е. вместо direction прилетает score) фразы положительно или отрицательно не будет. А будет просто

Изображение

Добавлено спустя 4 минуты

Добавил обращение на гитхаб github.com/instantsoft/icms2/issues/1513

Проблема теперь точно не потеряется.

#8 Проверка на "дружбу" внутри виджета список пользователей 30 сентября 2024 в 20:16

Кто подскажет решение? 

Ostrova

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

#9 [ЕСТЬ РЕШЕНИЕ] Нужна помощь с условиями 30 сентября 2024 в 20:15

 Happy, замените метод parse на

  1. public function parse($value){
  2.  
  3. //не авторизован
  4. if(!cmsUser::isLogged()){
  5.  
  6. return '<a class="ajax-modal" href="' . href_to('auth', 'login') . '">' . html($this->getOption('title'), false) . '</a>';
  7.  
  8. }
  9.  
  10. //автор
  11. if ($this->item['user_id']===cmsUser::get('id')) {
  12. return false;
  13. }
  14.  
  15. //остальные
  16. return '<a class="ajax-modal ajax-modal-ready" href="/messages/write/'.$this->item['user_id'].'">' . html($this->getOption('title'), false) . '</a>';
  17. }

должно помочь. Для понимания добавил комментарии.

#10 Поле "Контент пользователя" 30 сентября 2024 в 20:09

Как будет время обязательно гляну

Zau4man

Глянул. Поправил код, вернул опцию сокрытия пустых типов контента. Скрыл показ фильтра.

ИзображениеИзображение

Архив с полем в приложении. Имя файла поля то же, поэтому при установке вариант от Ostrova будет обновлен.

Прикрепленный файл
userscontent20240930-1-0-2.zip 4 Кб
#11 Поле "Контент пользователя" 29 сентября 2024 в 14:06

Как будет время обязательно гляну

#12 Автосохранение форм типов контента 25 сентября 2024 в 11:02

Оно было. Через системный toastr. Это ппц как бесит после 2-3 всплытия.

Кроме того, среднестатический юзер никогда не столкнется с черновиками, ему даже и знать о них не за чем.

#1 Автосохранение форм типов контента 20 сентября 2024 в 21:32

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

Изображение

Текст фразы, кнопок, интервал вынесены в настройки

Изображение

Тестировалось на 2.16.2
Будет ли работать на более старой версии или default шаблоне не знаю.

Идеи развития компонента, сообщения о найденных недочетах и багах приветствуются.

Компонент не появился бы без финансовой поддержки от CEH9I

Прикрепленный файл
zdrafts20240920-1-0-2.zip 11 Кб
#13 [ЕСТЬ РЕШЕНИЕ] Как обрезать заголовок? 15 сентября 2024 в 20:09

 klumba, при выводе заголовков в виджетах и записях типа контента результат работы поля не используется. Нужно править вывод заголовка в шаблоне.

В движке есть удобная функция для обрезки string_short github.com/instantsoft/icms2/blob/bb96c18544148da1e58293812ded78890784160a/system/libs/strings.helper.php#L705C10-L705C22

Если передать ей строку, и количество символов для обрезки, она вернет обрезанную строку.

Пример использования

  1. string_short($item[$field['name']], 10)

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

Изображение

Найдем этот файл templates\modern\content\default_list_featured.tpl.php

И отредактируем. Заменим в нем в двух местах

  1. <?php html($item[$field['name']]); ?>

на

  1. <?php html(string_short($item[$field['name']], 10)); ?>

Это укоротит заголовки до 10 символов в списке новостей

Изображение

По аналогии можно укоротить и в виджетах, их шаблоны лежат в папке templates\modern\controllers\content\widgets\list\list.tpl.php

И в самих записях, заменив в файле templates\modern\content\default_item.tpl.php

  1. <?php html($item['title']); ?>

на

  1. <?php html(string_short($item['title'], 10)); ?>

Изображение

🍪Мы используем файлы cookie для работы сайта. Читать подробнее.