Спасибо за наглядность, vadimilin.
З.Ы. Спрячьте свою почту в профиле, а то спам-боты замучают.

WebMan
В данный период я не оказываю услуг и не занимаюсь сторонними разработками
+434
Репутация
6110
Рейтинг
Тоже пока не использую. Движок работает быстро, сжатия стилей и скриптов для небольшого сайта достаточно.
Когда-то ради эксперимента баловался мемкешем на локалке — ускорение было раза в полтора, но у него есть нюансы при работе нескольких сайтов на одном сервере. Наверное, выгоднее максимально шустро настроить сам сервер, чем пользоваться кешем.
Когда-то ради эксперимента баловался мемкешем на локалке — ускорение было раза в полтора, но у него есть нюансы при работе нескольких сайтов на одном сервере. Наверное, выгоднее максимально шустро настроить сам сервер, чем пользоваться кешем.
У меня была задача добавить меню действий как подпункты одного из пунктов верхнего меню сайта + добавить туда через разделитель ещё подпункты. Не знаю, правильно или нет, но я всё делал в шаблоне виджета меню. Скопировал дефолтный шаб виджета меню \templates\olubvi\widgets\menu\menu.tpl.php в новый файл в этой же папке, а там уже крутил, что хотел. Потом виджету верхнего меню назначил этот новый шаблон.Может перед его отправкой в шаблон воткнуть хук и манипулировать порядком пунктов с его помощью?
Почему туда? Потому, что к этому моменту меню действий уже точно готово, а во-вторых, там удобно работать с шаблонами и их методами через $this.
Получение меню:
$toolbar = $this->menus['toolbar'];
Немного доработал автоподбор. Добавил обрезку пробелов справа — теперь они не будут мешать при подборе тегов между запятыми. Я так пользуюсь уже почти неделю — удобно.
Последняя версия тут github.com/WebManG/icms2/commit/0807700911c725f2a8c219c3e31f9f4bf7d13dd7
Если у вас свой шаблон, можете просто скачать файл string.tpl.php с Гита и скопировать его в
templates/НАЗВАНИЕ_ВАШЕГО_ШАБЛОНА/assets/fields/string.tpl.php
Кстати, этот автоподбор будет работать везде, где используется дефолтное строковое поле, если указать нужные параметры поля (классы, атрибуты ['autocomplete'] / ['autocomplete']['multiple'] / ['autocomplete']['url']).
Последняя версия тут github.com/WebManG/icms2/commit/0807700911c725f2a8c219c3e31f9f4bf7d13dd7
Если у вас свой шаблон, можете просто скачать файл string.tpl.php с Гита и скопировать его в
templates/НАЗВАНИЕ_ВАШЕГО_ШАБЛОНА/assets/fields/string.tpl.php
Кстати, этот автоподбор будет работать везде, где используется дефолтное строковое поле, если указать нужные параметры поля (классы, атрибуты ['autocomplete'] / ['autocomplete']['multiple'] / ['autocomplete']['url']).
Мысли: что Вы или слабо знаете английский, или игнорируете то, что Вас просят сделать — включить режим отладки. 😉пишет: 503 Service Unavailable
Please, enable debug mode in the site settings.
Какие мысли?
За пару дней тестирования проблем или ошибок не заметил, поэтому сделал пул-реквест по описанной выше доработке. Буду ждать решения Fuze.
Придумал ещё одно улучшение — отбор подходящих тегов содержащих введённую строку не только с начала, а и в любом месте. При этом сортировка делается так, чтобы сначала показывались теги, где искомая строка идёт вначале, а потом остальные (в середине тега). В каждом из этих блоков сделана сортировка по алфавиту (две стрелки на скрине).
Кстати, в дефолтной версии сортировка делается по внутреннему номеру тега, то есть, для пользователя это выглядит, как будто теги в списке выводятся в случайном порядке, что очень неудобно, на мой взгляд.
Доработка очень проста, но является хаком — при обновлении движка слетит и нужно будет её повторять.
В файле \system\controllers\tags\actions\autocomplete.php меняем строку 13
на
Естественно, такой запрос, в отличие от дефолтного, для сортировки создаёт отдельную временную таблицу с результатами выборки. Это не очень красиво, может вызывать тормоза на больших таблицах тегов, поэтому Fuze, скорее всего, такую доработку в "коробку" не пустит. Поэтому я пул-реквест не делал, оставляю код тут для тех, кому такой подбор тегов понравится больше стандартного.
Тестирование показало, что на среднем сервере на таблице более тысячи тегов такой запрос работает очень быстро, занимая меньше 0,1 мс, что лично меня вполне устраивает.
Придумал ещё одно улучшение — отбор подходящих тегов содержащих введённую строку не только с начала, а и в любом месте. При этом сортировка делается так, чтобы сначала показывались теги, где искомая строка идёт вначале, а потом остальные (в середине тега). В каждом из этих блоков сделана сортировка по алфавиту (две стрелки на скрине).
Кстати, в дефолтной версии сортировка делается по внутреннему номеру тега, то есть, для пользователя это выглядит, как будто теги в списке выводятся в случайном порядке, что очень неудобно, на мой взгляд.
Доработка очень проста, но является хаком — при обновлении движка слетит и нужно будет её повторять.
В файле \system\controllers\tags\actions\autocomplete.php меняем строку 13
$tags = $this->model->filterLike("tag", "{$term}%")->getTags();
// >> WebMan: // 1. фильтр по любой части тега, а не только начинающиеся с введённой строки, // 2. сортировка (по алфавиту + сначала теги, начинающиеся с введённой строки $tags = $this->model-> filterLike("tag", "%{$term}%")-> ))-> getTags(); // << WebMan
Тестирование показало, что на среднем сервере на таблице более тысячи тегов такой запрос работает очень быстро, занимая меньше 0,1 мс, что лично меня вполне устраивает.
Может кому-то будет полезна ещё одна фича. Мне был очень неудобен белый выпадающий список тегов на белом же фоне сайта. Да и люди его не всегда замечали. Сделал более яркий фон, чтобы список стал заметнее.
/* Выпадающий список автоподбора тегов */ .ui-autocomplete.ui-widget-content { background-color: #FFFFEE; } /* Активная строка в этом списке */ .ui-autocomplete.ui-widget-content .ui-menu-item.ui-state-focus { background-color: #FFFFCC; }
Капец. Java — один из самых странных языков, на которых мне приходилось программировать. Страннее только Fort… 😊
В общем, сделал что хотел. Теперь автоподбор работает и для тегов в середине строки, а не только для последнего. Мне всё нравится, стало удобнее. Полную чистоту кода и его оптимальность не гарантирую ввиду незнания Явы, но ошибок в консоли не видел.
Все изменения тут github.com/WebManG/icms2/commit/0807700911c725f2a8c219c3e31f9f4bf7d13dd7
Если кому интересно для тестирования, можете просто сохранить из Гита изменённый файл templates/default/assets/fields/string.tpl.php и заменить им дефолтный.
Немного подожду ваших отзывов и, если не будет выявлено ошибок, сделаю реквест в "коробку" — может Fuze посчитает это полезным.
В общем, сделал что хотел. Теперь автоподбор работает и для тегов в середине строки, а не только для последнего. Мне всё нравится, стало удобнее. Полную чистоту кода и его оптимальность не гарантирую ввиду незнания Явы, но ошибок в консоли не видел.
Все изменения тут github.com/WebManG/icms2/commit/0807700911c725f2a8c219c3e31f9f4bf7d13dd7
Если кому интересно для тестирования, можете просто сохранить из Гита изменённый файл templates/default/assets/fields/string.tpl.php и заменить им дефолтный.
Немного подожду ваших отзывов и, если не будет выявлено ошибок, сделаю реквест в "коробку" — может Fuze посчитает это полезным.
Спасибо за столь лестные отзывы, Олег Васильевич я, но сей ещё весьма не старый друг не знает Яву. А то бы уже давно сделал…
Лично мне пока не понятна задача. Какие данные должны быть доступны?Для муниципалов нужно вести открытые данные, а они должны совпадать по именам
Возможно придётся делать свой экшен, который будет обрабатывать нестандартные адреса в типах контента, может ещё что-то подобное.
Ребята, кто может подправить функцию автоподбора тегов при вводе в поле тегов при добавлении и редактировании материалов, чтобы варианты предлагались не только для последней фразы (после последней запятой), а и внутри между запятыми? Готов оплатить немного 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
Но моих знаний Явы не хватает, чтобы вытащить фразу из той части, где стоит курсор и потом туда подставить. Там всего то это и нужно сделать.
Кто сможет сделать такую правку?
Пользователи часто хотят добавить тег не в конце списка, а в середине. И тогда автоподбор не работает, люди делают ошибки. Да я и сам хотел бы иметь такое удобство, так как сейчас много работаю с тегами. Поясню на примере:
Человек набрал теги под статьёй: "первый, второй, четвёртый"
Потом понял, что забыл написать "третий", поставил курсор после "второй", набрал "," (запятую). Получил: "первый, второй,(тут курсор), четвёртый"
Так вот, если перед курсором начало строки или запятая, и после него конец строки или запятая, всё набранное между ними можно использовать для автоподбора. То есть, человек набирает "тре", а ему уже подсказывается "третий", если он уже есть где-то в тегах. И после нажатия "Таб" слово автозавершается и подставляется в позицию курсора.
Та же правка будет полезна и при редактировании тегов в середине списка в той же форме добавления/редактирования записи.
Например, человек набрал теги под статьёй: "первый, вторй, третий". Заметил, что неправильно написал "второй", поставил после "р" курсор и нажал "о" — в выпадающем списке автоподбора появилось: "второй, второй тайм, второй шанс" и т.д.
Я понимаю, что сейчас последняя набранная в строке фраза выбирается для автоподбора регуляркой и пушем тут
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
Но моих знаний Явы не хватает, чтобы вытащить фразу из той части, где стоит курсор и потом туда подставить. Там всего то это и нужно сделать.
Кто сможет сделать такую правку?
А зачем Вам папка с именем типа контента? Может можно другое название? Или составное, например "тип_контента_files"?
А что в логах ошибок сервера?
Также включите режим отладки, может он что-то покажет.
Заодно убедитесь, что "magic_quotes" в ПХП выключены.
Также включите режим отладки, может он что-то покажет.
Заодно убедитесь, что "magic_quotes" в ПХП выключены.
{id}-{user_nickname}-{title}
Из Украины открывается нормально.Просьба одна кто есть с украины, лнр днр видно его Вам ???