Главная > Сайт > Сайт на e107. Ковыляем на костылях. Часть третья

Сайт на e107. Ковыляем на костылях. Часть третья

Этим теплым апрельским вечером стоит чудесная погода. Детишки на площадке, влюбленные парочки и одинокие пенсионеры - все эти признаки в моей тухловатой провинции указывают на то, что дома сидеть не стоит. Но я буду не я, если откажу себе в удовольствии сажать зрение о светящийся квадрат, давно претендующий на замену реальности огромной массе народа. Очередной безблагодатный опус о CMS e107 с парой сотней просмотров ждет своего редкого читателя.

Прошлый раз я обещал, что начну делиться своими плагинами, но, пожалуй, есть смысл повременить с этим. Сегодня я оставлю здесь пару слов о тонкой настройке раздела загрузок и входа на сайт. Вещи, о которых я напишу заметку,  не документированы, и познаются чтением кода. И ещё, пожалуй, поправим кривой плагин "Слова-ссылки".

Буквально пару дней назад я закончил свой новый проект "Старые версии программ", который, как вы можете видеть, я решил реализовать на e107 - для цели создания сайта с архивом софта она подходит вообще идеально. О проекте я ещё напишу в отдельной публикации. В ходе подготовки проекта мне пришлось решать следующие проблемы:

Задание произвольного заголовка для категорий загрузок в e107

По умолчанию e107 для списка загрузок в конкретной категории задает вот такой формат:

Имя категории [ описание ]

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

  1. Запись значения заголовка категорий в переменнную $type.
  2. Чтение шаблона разметки темы e107_themes\тема\download_template.php (или умолчального).
  3. Вывод значения заголовка.

Очевидно, что мы можем вклиниться в этот процесс, и переопределить значение $type в нашем шаблоне загрузок темы. Безусловно, это костыли, которые могут запросто перестать работать в одной из новых версий e107, но других вариантов нет.

Я добавил вот такой вот код в мой download_template.php, разнеся заголовок в h1, а описание - в отдельный div:

$type = "<h1>".$download_category_name."</h1>";
$type .= ($download_category_description) ? "<div class='smalltext'>".$download_category_description."</div>" : "";

Результат, который я хотел получить, отлично демонстрирует пример с категорией "Старые версии Skype":

Таким образом, используя хак с переменной $type, можно задать собственный заголовок категории загрузок в e107.

Убираем "Защищенный сервер" из страницы логина e107

Разработчики CMS e107 считают свое детище очень безопасным, о чем радостно рапортуют всякому, кто пытается залогиниться на сайт:

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

Добавляем в наш e107_themes\ваша тема\login_template.php строчку вида:

$login_message="";

"Защищенный сервер" канет в лету, и страничка логина примет менее помпезный вид.

Примечание. Если в вашей теме нет файлов login_template.php и download_template.php, вы можете скопировать их туда из папки e107_themes\templates и потом уже отредактировать.

Очевидный плюс от описанных хаков - вам не придется вносить правки непосредственно в файлы движка CMS e107, что упростит обновление на новую версию в будущем.

Русские слова в плагине e107 "слова-ссылки"

Этот плагин служит для перелинковки статей между собой по определенным ключам. Вы задаете набор слов через запятую, и при выводе к каждому из слов добавляется ссылка. Проблема в том, что с русскими словами этот плагин не работает, так как в нем не используются мультибайтовые функции обработки строк, необходимые в этом случае. Я честно отрепортил баг, но разработчики не особо торопятся его исправлять.

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

В нем исправлены:

  • Проблема с обработкой русских слов
  • Проблема учёта регистра букв - слова заменяются на ссылки вне зависимости от РеГИстРа буКв.

Надеюсь, эти несложные трюки сэкономят вам время и избавят вас от необходимости лишний раз изучать код CMS e107.

В следующий раз мы приступим к полезным плагинам, я обещаю.

Winreview.ru можно найти в Вконтакте, Facebook и Twitter. Присоединяйтесь!

Комментарии

  1. AndreikA

    СПАСИБО!

    Я отрепортю, про линквордс, может меня послешают?

  2. Сергей Ткаченко

    @AndreikA
    Было бы здорово

  3. Прохожий

    AndreikA

    СПАСИБО!

    Я отрепортю, про линквордс, может меня послешают?

    Кто послушает? Кэмерон? Вряд-ли, до него туго доходит!

Написать комментарий