Хотя, знаете, экспериментальным путем выяснилось, что логины на нелатинице и с пробелами тоже могут преобразовываться! Нужно только их заключать в квадратные скобки, вот так: @[папаша джон]
Я предполагал, что эта строка — @username — подразумевает, что логин идет сразу за символом "@" и содержит только латиницу без спецсимволов и пробелов. Но раз это непонятно, то уточнил в тексте.
Т.к. админы сайтов, уверен, в большинстве случаев не меняют наборы символов логина по умолчанию, то этот бонус будет работать на большинстве сайтов на Альто. В конце концов, эта опция отключаемая. И даже если замена парсера решит только одну единственную проблему — корректное распознавание URL — и не принесет больше ничего нового и не добавит проблем, то уже это достаточно весомая причина перейти на Qevix.
Решение проблемы:
1) Обновить движок до версии 1.1.7
2) Обновить плагин до версии 1.0.2
3) Активировать плагин, удалить файл /_tmp/cache/data/custom.cfg, деактивировать плагин
По п.2 — такое бывает если:
а) Какой-то файл сохранен в формате просто UTF-8, а не «UTF-8 без BOM» (или UTF-8 without BOM). Чаще всего это какой-то конфиг-файл, который правили с помощью Notepad или чем-то подобным.
б) В каком-то файле есть закрывающий тег ?> и после него идут пробелы или перевод строки
Для варианта а) надо открыть и сохранить файл именно в правильном формате
Для варианта б) — просто удалить закрывающий тег ?>
Переопределять экшены (как и другие компоненты — модули, сущности, мапперы) можно либо делегированием (прописывается в свойстве $aDelegates), либо наследованием (прописывается в свойстве $aInherits).
Делегирование — это, фактически, «жесткое» переопределение компонента, т.е. вместо исходного компонента используется «делегат». И «делегат» может быть только один (каждое последующее объявление делегата заменяет предыдущее).
Наследование — это нормальное наследование по всем канонам ООП (если быть более точным, то я называю это «динамическим автонаследованием», на Хабре писал об этом: habrahabr.ru/post/247351/). И «наследников» может быть сколько угодно, при этом первый «наследник» становится наследником исходного компонента, а каждый новый становится наследником предыдущего.
Механизм «делегирования» родился гораздо раньше механизма «наследования» (еще в ЛС), и, как правило, сейчас делегирование используется для переопределения файлов шаблонов. А для расширения функциональности следует использовать «наследование» (через $aInherits).
Так для начала хорошо бы озвучить, чего не хватает. А то, может, есть уже это. И не раз было такое, что люди, переходящие с ЛС пытаются ставить старые плагины, которые в Альто вообще не нужны, т.к. из коробки требуемый функционал уже есть.
Да, но, как выяснилось, у каждого просящего галерею свое понимание, а что же это такое — «галерея». При этом каждый ждет, что кто-то другой напишет четкое ТЗ, причем, именно такое, которое удовлетворит именно его. Максимум, чего смогли сформулировать — это «сделайте как там, только немного иначе и чтоб мне понравилось». Увы, по такому «тз» вряд ли что-то можно дельное создать.
А насчет «песочницы» меня лично спрашивали не раз, но нашелся один человек, который четко сформулировал «хотелки». Результат — готовый плагин.
Во-первых, были значительно переписаны алгоритмы класса Config. В результате добавлена одна фича, и уменьшилось время обработки метода Config::Get(), а число вызовов этого метода за один цикл обработки страницы — сотни.
Во-вторых, более активно используется как сверхбыстрый кеш (кеш типа «tmp»), так и «внутреннее кеширование» — сохранение результатов в переменных модулей, за счет чего уменьшено повторное обращение к одним и тем же операциям.
Вообще, анализ быстродействия и поиск вариантов «расшивки» узких мест занимает сейчас немалую долю времени.
1. Создайте свой скин на базе выбранного, для этого скопируйте common/templates/skin/start-kit в папку common/templates/skin/myskin (здесь myskin — ваше произвольное название).
2. В шаблон common/templates/skin/myskin/themes/default/layouts/default.tpl добавьте любой нужный вам javascript-код в нужное место, обернув его шаблонными тегами {literal} {/literal}:
{literal}
// здесь любой javascript-код
{/literal}
Т.к. админы сайтов, уверен, в большинстве случаев не меняют наборы символов логина по умолчанию, то этот бонус будет работать на большинстве сайтов на Альто. В конце концов, эта опция отключаемая. И даже если замена парсера решит только одну единственную проблему — корректное распознавание URL — и не принесет больше ничего нового и не добавит проблем, то уже это достаточно весомая причина перейти на Qevix.
1) Обновить движок до версии 1.1.7
2) Обновить плагин до версии 1.0.2
3) Активировать плагин, удалить файл /_tmp/cache/data/custom.cfg, деактивировать плагин
github.com/altocms/altocms/commit/36d3ce7430bb1a780e961f37b3a04de2fcf00f0b
github.com/altocms/altocms/commit/24cd3c8b341517d5e738beb55f8855aea51f7c82
По п.2 — такое бывает если:
а) Какой-то файл сохранен в формате просто UTF-8, а не «UTF-8 без BOM» (или UTF-8 without BOM). Чаще всего это какой-то конфиг-файл, который правили с помощью Notepad или чем-то подобным.
б) В каком-то файле есть закрывающий тег ?> и после него идут пробелы или перевод строки
Для варианта а) надо открыть и сохранить файл именно в правильном формате
Для варианта б) — просто удалить закрывающий тег ?>
Делегирование — это, фактически, «жесткое» переопределение компонента, т.е. вместо исходного компонента используется «делегат». И «делегат» может быть только один (каждое последующее объявление делегата заменяет предыдущее).
Наследование — это нормальное наследование по всем канонам ООП (если быть более точным, то я называю это «динамическим автонаследованием», на Хабре писал об этом: habrahabr.ru/post/247351/). И «наследников» может быть сколько угодно, при этом первый «наследник» становится наследником исходного компонента, а каждый новый становится наследником предыдущего.
Механизм «делегирования» родился гораздо раньше механизма «наследования» (еще в ЛС), и, как правило, сейчас делегирование используется для переопределения файлов шаблонов. А для расширения функциональности следует использовать «наследование» (через $aInherits).
А насчет «песочницы» меня лично спрашивали не раз, но нашелся один человек, который четко сформулировал «хотелки». Результат — готовый плагин.
Во-вторых, более активно используется как сверхбыстрый кеш (кеш типа «tmp»), так и «внутреннее кеширование» — сохранение результатов в переменных модулей, за счет чего уменьшено повторное обращение к одним и тем же операциям.
Вообще, анализ быстродействия и поиск вариантов «расшивки» узких мест занимает сейчас немалую долю времени.
altocms.ru/689.html
1. Код счетчика надо обернуть в шаблонные теги {literal}… {/literal}, т.е. в шаблоне это должно выглядеть примерно так:
2. Очистите содержимое папки /_tmp/templates
2. В шаблон common/templates/skin/myskin/themes/default/layouts/default.tpl добавьте любой нужный вам javascript-код в нужное место, обернув его шаблонными тегами {literal} {/literal}: