MaxSite CMS 0.53

Воскресенье, 19 июня 2011 г.
Рубрика: MaxSite CMS -> Версии
Просмотров: 3436
Подписаться на комментарии по RSS

Очередное некритическое обновление системы. Исправлены некоторые ошибки, недочёты и реализованы новые возможности.

- Добавлены инструкции и языковые файлы для немецкой локализации (спасибо, Александр Шиллинг!).

- В опциях плагинов (mso_admin_plugin_options) для textarea можно указывать количество строк (ключ rows), по аналогии с ini-файлами.

- Исправлена ошибка в настройках рубриках, которая приводила к тому, что вложенные рубрики не отображались в списке пока в них не было добавленно ни одной записи.


- Новые функции mso_get_val() и mso_set_val(), призванные получать и менять значение произвольных ключей. Идея вот в чём: у нас в системе есть некоторые спорные моменты при генерации HTML-кода. Например заголовки виджетов оформляются как h2.box. Для посетителей и верстальщиков нет никакой разницы, будет ли это h2 или div. Но с точки зрения SEO (поискового продвижения), заголовки h2 рассматриваются как подзаголовки в тексте и участвуют в ранжировании страниц. Поэтому было бы логичней не использовать h2 «в холостую». Чтобы не создавать проблемы совместимости с плагинами и шаблонами мы и ввели эти функции.

Функция mso_get_val(ключ, по-умолчанию) получает текущее значение ключа и, если его нет, возвращает значение по-умолчанию. Функция mso_set_val(ключ, значение) устанавливает новое значение ключа. Например в виджетах мы задаём h2.box через mso_get_val():

$options['header'] = mso_get_val('widget_header_start', '<h2 class="box"><span>') 
	. $options['header'] 
	. mso_get_val('widget_header_end', '</span></h2>');

Здесь используется два ключа widget_header_start и widget_header_end. Теперь, чтобы переопределить эти ключи в своём шаблоне в файле functions.php (как вариант) указываем:

mso_set_val('widget_header_start', '<div class="widget_header"><span>');
mso_set_val('widget_header_end', '</span></div>');

На текущий момент я внёс изменения в шаблоны и плагины. Доступны следующие ключи:

  • Заголовок виджета: widget_header_start, widget_header_end
  • Заголовок «Комментариев»: page_comments_count_start, page_comments_count_end
  • «Подписаться на эту рубрику по RSS»: show_rss_text_start, show_rss_text_end
  • Рубрика в home-cat-block: home_full_text_cat_start, home_full_text_cat_end
  • «Оставьте комментарий»: leave_a_comment_start, leave_a_comment_end
  • «Еще записи по теме»: page_other_pages_start, page_other_pages_end

Постепенно буду добавлять и другие ключи. Пока это самые основные.


- Новый плагин «Внутренние ссылки» (internal links) с помощью которого можно сделать внутреннюю перелинковку страниц. В MaxSite CMS уже есть плагин перелинковки «Perelinks», который выполняет автоматическую перелинковку по словам всех заголовков сайта. В «Internal links» фразы-ссылки указываются вручную, что позволяет полностью контролировать процесс. Сразу предупреждаю, что плагин не до конца отработан. В частности, если фраза встречается в параметрах тэгов, например в title, то замена фразы на ссылку приведет к невалидности HTML-кода. Также я не смог понять, почему поиск для одиночных слов регистронезависим, а для двойных и более слов - регистрозависим. Если вы разбираетесь в регулярных выражениях, буду признателен за помощь в решении эти проблем.

- BB-код [url] теперь поддерживает такие варианты:

[url]http://maxsite.org/[/url]
[url=http://maxsite.org/]Блог Макса[/url]
[url=http://maxsite.org/ rel="nofollow"]Блог Макса[/url]
[url rel="nofollow"]http://maxsite.org/[/url]

То есть можно указывать любые дополнительные параметры ссылки.

- Также в BB-коде добавил и другие дополнительные параметры для кодов.

- В файлах RSS изменён способ указания часового пояса. Теперь часовой пояс выставляется как смещение времени, заданного в настройках, плюс часовой пояс сервера. Это позволяет корректно отображать GMT на серверах с часовым поясом отличным от Гринвича.

twitter.com facebook.com mail.ru friendfeed.com livejournal.ru memori.ru google.com yandex.ru

Комментариев: 16

  1. 2011-06-20 в 10:38:03 | Евгений

    Подскажите, пожалуйста, планируется ли поддержка аутентификации через LDAP?

  2. а убрать эти H2 в виджетах "по умолчанию" нельзя? Это ведь неправильно, мягко говоря ))

  3. Подскажите, пожалуйста, планируется ли поддержка аутентификации через LDAP?

    Даже не знаю, что это такое.

  4. а убрать эти H2 в виджетах "по умолчанию" нельзя?

    Вы пример читали? Там всё разжевано.

  5. Максим, надо бы team.txt заменить на http://humanstxt.org/

  6. 2011-06-22 в 13:25:48 | Max Kochubey

    Спасибо за обновление.

    Только вот пришлось ставить $config['sess_encrypt_cookie'] = FALSE;

    А иначе nginx + php-fpm упорно выдаёт 502 Bad Gateway.

  7. Шикарная вещь!

  8. Для плагина internal links имеет ли значение регистр букв?

    И еще. Предложение по этому плагину.

    Нельзя ли совместить принципы работы этого плагина с плагином perelinks.

    То есть чтобы задавался только список слов, без указания ссылок.

    А плагин уже сам будет искать и подставлять под слово наиболее подходящую ссылку на статью или страницу

  9. Для плагина internal links имеет ли значение регистр букв?

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

    Нельзя ли совместить принципы работы этого плагина с плагином perelinks.

    Особого смысла нет, поскольку у плагинов совершенно разный способ перелинковки.

  10. Ссылку на 0.5 ни нашел, попробовал обновиться на этой сборки, с 0.444 до 0.53

    выдает ошибку:

    A PHP Error was encountered

    Severity: Notice

    Message: Undefined index: scaffolding_trigger

    Filename: libraries/Router.php

    Line Number: 164

    Fatal error: Class 'CI_Controller' not found in /msite/application/controllers/maxsite.php on line 8

  11. Инструкция для чего?

  12. 2011-06-29 в 11:37:23 | Владимир

    При запуске страниц выводится например:

    A PHP Error was encountered

    Severity: 8192

    Message: Call-time pass-by-reference has been deprecated

    Filename: common/page.php Line Number: 195 и такое сообщение выводится начиная со 195 по 210.

    Пример срока 195

    if ( $custom_type == 'home' ) _mso_sql_build_home($r, &$pag);

    Способ устранения ошибки:

    необходимо удалить знак & из строки.

    Вид строки после исправления:

    if ( $custom_type == 'home' ) _mso_sql_build_home($r, $pag);

    Вот и всё. Удачи всем.grin

  13. А install-ru.txt зачем?

  14. Даже не знаю, что это такое.

    LDAP: openldap в nix-системах, Active Directory в Windows - по сути это каталог, в котором хранятся имена, логины пользователей, их пароли, мыла, в каких группах состоят и так далее, очень удобная вещь для единой аутентификации в разных системах (почта, джаббер, форум, samba), кстати в WordPress есть плагин для аутентификации через LDAP, но ужасно кривой. Я понимаю, что для рядового блоггера, в такой системе авторизации необходимости нет, но, пожалуйста, задумайтесь над таким функционалом, это довольно перспективное направление.

  15. Спасибо за ваш труд!

  16. обновился с 0.42 на 0.53 без ошибок вроде. файлы поверх перезаписались, а новые экстрактировались и дописались. работает вроде ))

Оставьте свой комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Комментарий будет опубликован после проверки

(войти без комментирования)

Имя и сайт используются только при регистрации

Если указать email (зарегистрироваться), то будет уведомление о новых комментариях.

Авторизация: Loginza.

(обязательно)