WebMan

WebMan

В данный период я не оказываю услуг и не занимаюсь сторонними разработками
+434
Репутация
6110
Рейтинг
#1 Виджет в шаблон? 21 августа 2018 в 09:31
Спасибо за наглядность, vadimilin.
З.Ы. Спрячьте свою почту в профиле, а то спам-боты замучают.
#2 кэширование от Instantcms 15 августа 2018 в 14:38
Тоже пока не использую. Движок работает быстро, сжатия стилей и скриптов для небольшого сайта достаточно.
Когда-то ради эксперимента баловался мемкешем на локалке — ускорение было раза в полтора, но у него есть нюансы при работе нескольких сайтов на одном сервере. Наверное, выгоднее максимально шустро настроить сам сервер, чем пользоваться кешем.
#3 Изменение порядка "меню действий" пользователя 23 июля 2018 в 09:09

Может перед его отправкой в шаблон воткнуть хук и манипулировать порядком пунктов с его помощью?

Ris
У меня была задача добавить меню действий как подпункты одного из пунктов верхнего меню сайта + добавить туда через разделитель ещё подпункты. Не знаю, правильно или нет, но я всё делал в шаблоне виджета меню. Скопировал дефолтный шаб виджета меню \templates\olubvi\widgets\menu\menu.tpl.php в новый файл в этой же папке, а там уже крутил, что хотел. Потом виджету верхнего меню назначил этот новый шаблон.
Почему туда? Потому, что к этому моменту меню действий уже точно готово, а во-вторых, там удобно работать с шаблонами и их методами через $this.
Получение меню:
  1. $toolbar = $this->menus['toolbar'];
Но, честно говоря, это не простой путь…
#4 Доработка ввода тегов 22 июля 2018 в 11:14
Немного доработал автоподбор. Добавил обрезку пробелов справа — теперь они не будут мешать при подборе тегов между запятыми. Я так пользуюсь уже почти неделю — удобно.
Последняя версия тут github.com/WebManG/icms2/commit/0807700911c725f2a8c219c3e31f9f4bf7d13dd7
Если у вас свой шаблон, можете просто скачать файл string.tpl.php с Гита и скопировать его в
templates/НАЗВАНИЕ_ВАШЕГО_ШАБЛОНА/assets/fields/string.tpl.php

Кстати, этот автоподбор будет работать везде, где используется дефолтное строковое поле, если указать нужные параметры поля (классы, атрибуты ['autocomplete'] / ['autocomplete']['multiple'] / ['autocomplete']['url']).
#5 Похоже на режим отладки 18 июля 2018 в 22:21

пишет: 503 Service Unavailable
Please, enable debug mode in the site settings.
Какие мысли?

@garss
Мысли: что Вы или слабо знаете английский, или игнорируете то, что Вас просят сделать — включить режим отладки. 😉
#6 Доработка ввода тегов 16 июля 2018 в 01:45
За пару дней тестирования проблем или ошибок не заметил, поэтому сделал пул-реквест по описанной выше доработке. Буду ждать решения Fuze.

Придумал ещё одно улучшение — отбор подходящих тегов содержащих введённую строку не только с начала, а и в любом месте. При этом сортировка делается так, чтобы сначала показывались теги, где искомая строка идёт вначале, а потом остальные (в середине тега). В каждом из этих блоков сделана сортировка по алфавиту (две стрелки на скрине).


Кстати, в дефолтной версии сортировка делается по внутреннему номеру тега, то есть, для пользователя это выглядит, как будто теги в списке выводятся в случайном порядке, что очень неудобно, на мой взгляд.

Доработка очень проста, но является хаком — при обновлении движка слетит и нужно будет её повторять.
В файле \system\controllers\tags\actions\autocomplete.php меняем строку 13
  1. $tags = $this->model->filterLike("tag", "{$term}%")->getTags();
на
  1. // >> WebMan:
  2. // 1. фильтр по любой части тега, а не только начинающиеся с введённой строки,
  3. // 2. сортировка (по алфавиту + сначала теги, начинающиеся с введённой строки
  4. $tags = $this->model->
  5. select("(LEFT(`tag`, ".mb_strlen($term).") = '{$term}')", "tag_order")->
  6. filterLike("tag", "%{$term}%")->
  7. orderByList(array(
  8. array('by' => "tag_order", 'to' => 'desc', 'strict' => true),
  9. array('by' => "tag", 'to' => 'asc')
  10. ))->
  11. getTags();
  12. // << WebMan
Естественно, такой запрос, в отличие от дефолтного, для сортировки создаёт отдельную временную таблицу с результатами выборки. Это не очень красиво, может вызывать тормоза на больших таблицах тегов, поэтому Fuze, скорее всего, такую доработку в "коробку" не пустит. Поэтому я пул-реквест не делал, оставляю код тут для тех, кому такой подбор тегов понравится больше стандартного.
Тестирование показало, что на среднем сервере на таблице более тысячи тегов такой запрос работает очень быстро, занимая меньше 0,1 мс, что лично меня вполне устраивает.
#7 Доработка ввода тегов 14 июля 2018 в 12:00
Может кому-то будет полезна ещё одна фича. Мне был очень неудобен белый выпадающий список тегов на белом же фоне сайта. Да и люди его не всегда замечали. Сделал более яркий фон, чтобы список стал заметнее.
  1. /* Выпадающий список автоподбора тегов */
  2. .ui-autocomplete.ui-widget-content {
  3. background-color: #FFFFEE;
  4. }
  5. /* Активная строка в этом списке */
  6. .ui-autocomplete.ui-widget-content .ui-menu-item.ui-state-focus {
  7. background-color: #FFFFCC;
  8. }
#8 Доработка ввода тегов 14 июля 2018 в 11:57
Капец. Java — один из самых странных языков, на которых мне приходилось программировать. Страннее только Fort… 😊



В общем, сделал что хотел. Теперь автоподбор работает и для тегов в середине строки, а не только для последнего. Мне всё нравится, стало удобнее. Полную чистоту кода и его оптимальность не гарантирую ввиду незнания Явы, но ошибок в консоли не видел.
Все изменения тут github.com/WebManG/icms2/commit/0807700911c725f2a8c219c3e31f9f4bf7d13dd7
Если кому интересно для тестирования, можете просто сохранить из Гита изменённый файл templates/default/assets/fields/string.tpl.php и заменить им дефолтный.

Немного подожду ваших отзывов и, если не будет выявлено ошибок, сделаю реквест в "коробку" — может Fuze посчитает это полезным.
#9 Доработка ввода тегов 13 июля 2018 в 22:49
Спасибо за столь лестные отзывы, Олег Васильевич я, но сей ещё весьма не старый друг не знает Яву. А то бы уже давно сделал…
#10 Тип контента и папка на сервере 13 июля 2018 в 12:47

Для муниципалов нужно вести открытые данные, а они должны совпадать по именам

Скела
Лично мне пока не понятна задача. Какие данные должны быть доступны?
Возможно придётся делать свой экшен, который будет обрабатывать нестандартные адреса в типах контента, может ещё что-то подобное.
#1 Доработка ввода тегов 13 июля 2018 в 12:37
Ребята, кто может подправить функцию автоподбора тегов при вводе в поле тегов при добавлении и редактировании материалов, чтобы варианты предлагались не только для последней фразы (после последней запятой), а и внутри между запятыми? Готов оплатить немного WMR за эту правку.

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

Человек набрал теги под статьёй: "первый, второй, четвёртый"
Потом понял, что забыл написать "третий", поставил курсор после "второй", набрал "," (запятую). Получил: "первый, второй,(тут курсор), четвёртый"
Так вот, если перед курсором начало строки или запятая, и после него конец строки или запятая, всё набранное между ними можно использовать для автоподбора. То есть, человек набирает "тре", а ему уже подсказывается "третий", если он уже есть где-то в тегах. И после нажатия "Таб" слово автозавершается и подставляется в позицию курсора.

Та же правка будет полезна и при редактировании тегов в середине списка в той же форме добавления/редактирования записи.
Например, человек набрал теги под статьёй: "первый, вторй, третий". Заметил, что неправильно написал "второй", поставил после "р" курсор и нажал "о" — в выпадающем списке автоподбора появилось: "второй, второй тайм, второй шанс" и т.д.

Я понимаю, что сейчас последняя набранная в строке фраза выбирается для автоподбора регуляркой и пушем тут
github.com/instantsoft/icms2/blob/master/templates/default/assets/fields/string.tpl.php#L37
и потом выбранное из выпадающего списка значение тега подставляется вместо неё в конец списка тут
github.com/instantsoft/icms2/blob/master/templates/default/assets/fields/string.tpl.php#L57
Но моих знаний Явы не хватает, чтобы вытащить фразу из той части, где стоит курсор и потом туда подставить. Там всего то это и нужно сделать.

Кто сможет сделать такую правку?
#11 Тип контента и папка на сервере 11 июля 2018 в 22:59
А зачем Вам папка с именем типа контента? Может можно другое название? Или составное, например "тип_контента_files"?
#12 [ЕСТЬ РЕШЕНИЕ] переехал на другой хостинг 9 июля 2018 в 11:31
А что в логах ошибок сервера?
Также включите режим отладки, может он что-то покажет.
Заодно убедитесь, что "magic_quotes" в ПХП выключены.
#13 Шаблон генерации URL 6 июля 2018 в 09:04
{id}-{user_nickname}-{title}
#14 Кто чем занимается помимо программирования? 3 июля 2018 в 00:24

Просьба одна кто есть с украины, лнр днр видно его Вам ???

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