Jun
22
2009
Устанавливаем Blog Calendar - AJAX календарь для Joomla
Создание сайтов - Joomla
Автор: Kayumov   
260х298, 15 КбВ
чера устанавливал на блог компонент Blog Calendar. Как понятно из названия, расширение представляет собой простой календарик. Функционирует на Ajax. Собственно без оного мне бы календарь и не был нужен. Переключение между месяцами, группировка по датам и годам, вывод кол-ва материалов в тот или иной день при наведении на число - необходимый минимум, который приличествует нормальному календарю, здесь есть.

    Модуль может быть выведен не только в виде собственно календаря, но и в виде архивного дерева, разбитого по годам и месяцам. Традиционно около каждого года и месяца в скобках отображается количество материалов, написанных за соответсвующий период. Это удобно. Для блогера в любой момент позволяет видеть сколько материалов в этом месяце написано, и сравнить с предыдущими месяцами. Рекламодателю видеть такую информацию тоже не помешает, если он покупает размещение постовых сразу на месяц ;)

    Раньше многие джумловоды ставили этот компонент, но вынуждены были его сносить из-за большого количества ошибок. Сейчас опыт пользователей в обращении с этой штукой уже накоплен. Как обычно, приведу те подводные камни, с которыми пришлось столкнуться при установке и настройке компонента Blog Calendar.

    Компонент и модуль забираем здесь - http://joomlacode.org/gf/project/blog_calendar/frs/ 13х13 (Внимание: внизу статьи вы найдете модуль, доступный для закачивания, в котором исправлены многие проблемы [в т.ч. здесь и не описанные] - примечание от 7.10.2009)

    Устанавливаем все. Публикуем модуль. Внешне выглядит все нормально, но, скорее всего, ошибки не заставят себя долго ждать.


Проблема (1):

В модуле Blog Calendar при переключении месяцев нарушается кодировка. Очень распространенная проблема.

Решение (1):

    Я ответ узнал, наверное, только через полгода после начала использования компонента. Но спасибо умным людям - подсказали.

В моем случае оказалось достаточным добавить в файле .htaccess 13х13 строчку AddDefaultCharset UTF-8.



Проблема (2):

    После опубликования модуля появляются ошибки следующего характера:

Undefined index: 20090602 in /.../modules/mod_blog_calendar/helper.php on line 70

    Вместо 20090602 могут быть разные номера

Решение (2):

    В строке 70 файла modules/mod_blog_calendar/helper.php нужно заменить строку
$counter[$createdDate]+=1;
    на строку
if (!isset($counter[$createdDate])){($counter[$createdDate]=1);} else {($counter[$createdDate]+=1); };



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



Проблема (3):

В режиме Лист может всплыть ряд предупреждений Notice, указывающих на файл modules/mod_blog_calendar/helper.php

Решение (3):

    Честно говоря, на этот раз не нашел ничего лучше, чем просто понизить уровень вывода ошибок. Notice - это отладочная информация, в крайнем случае можно ее просто скрыть, либо отключив вывод предупреждений глобально в .htaccess, либо поместить в скрипт (в нашем случае это файл modules/mod_blog_calendar/helper.php) строку:
Error_Reporting(E_ALL & ~E_NOTICE);


Проблема (4):

Изменения, сделанные в css файле никак не отражаются на внешнем виде модуля

Решение (4):

    Нужно переименовать файл сalStyle.css в сalstyle.css. Находится в папке /modules/mod_blog_calendar/tmpl/

Проблема (5):

    При попытке редактирования файла CSS из административной панели возникает ошибка

JFile::read: Unable to open file: '/...\modules\mod_blog_ calendar\tmpl\calStyle.css'

Решение (5):

    Проблема в слэшах. Необходимо в файле administrator/components/com_blog_calendar/controller.php найти все пути
\modules\mod_blog_calendar\tmpl\calStyle.css
    и заменить обратные слэши на прямые (обратные слэши, часто интерпретируются в роли символов экранирования). Кроме того, если вы последовали рекомендации в пункте 4, то вам также необходимо заменить в этих путях calStyle.css на calstyle.css. В итоге, конечная строка замены выглядит так:
/modules/mod_blog_calendar/tmpl/calstyle.css


Проблема (6):

    Неправильная локализация календаря, в результате чего месяца отображаются в родительном падеже.

Решение (6):

    Решение подсказал пользователь блога под ником Димыч, за что ему большое спасибо (а также бесплатно полагается постовой;) ). Итак, как выяснилось, название месяцев модуль берет из общего файла локализации. Для того, чтобы вынести локализацию в отдельный файл и поправить перевод необходимо проделать следующее: "

    1) открыть для редактирования файл administrator/components/com_blog_calendar/controller.php

    2) найти в нем все пути вида \modules\mod_blog_calendar\tmpl\calStyle.css

    3) заменить их на /modules/mod_blog_calendar/tmpl/calStyle.css"

    Сам исправленный файл css выложу позже. Пока можете отредактировать самостоятельно или см. в комментариях, где выкладывал свои файлы автор решения



добавлено 7.10.2009 (обновлено 16.10.2009)

ИСПРАВЛЕННЫЙ МОДУЛЬ КАЛЕНДАРЯ



    Разработчик blackFFFFFF решил многие проблемы, связанные с локализацией модуля каледнаря (и не только) и прислал архив для публикации на данном сайте. Выражаю благодарность (многие, думаю, присоединяются) и, конечно, всегда буду рад поместить здесь ссылку на сайт разработчика.

    Вот список исправлений в модуле:
"
1. UTF-8 bug fix - 2-3 и более символов по русски в обозначении дней недели как например. Общий фикс на utf - замена substr стандартным классом JString::substr везде.

2. Добавление в модуль русского языка и перевода в виде папки. Вынос текстовых констант.

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

4. Исправление формата даты. Перевод месяцев в модуле развернутого архива через стандартную функцию joomla JHtml::_('date', вызов локализированного strftime.

5. Убрано предупреждение ecma script о неверном формате данных при передаче месяцев в js с ведущими нулями (int не может быть с ведущими нулями в ecma script), цифры взяты в кавычки.

6. Вынес заголовок loading -> в языковой файл и добавил через внешнюю переменную его аналог в js.

7. Исправил нотайсы и варинги, связанные с подсчетом количества статей в виде календаря как списка архива

8. В шаблоне завернул все ссылки через стандартные функции юмлы, исправил & на & добавил везде JURI::base() для добавления к ссылкам базовой ссылки, на которую установлена юмла.

9. Ввел еще несколько дополнительных проверок данных и преобразований, все связано с безопасностью "

    Скачать сам модуль можно по ссылке ниже (внимание! все риски при тестировании принимает на себя пользователь!):

Желаю Удачи!

Обновлено 16.10.2009 19:36
 
Добавить пост в закладки online

Добавить комментарий


Защитный код
Обновить

    Внимание! Всем известно, что вероятность выиграть Джекпот в Гослото на одну простую комбинацию составляет 1 из 8 145 060. Как получить вероятность, по меньшей мере, в 2 раза выше при тех же затратах? Как получить более гибкие условия и играть по своим правилам?
    Читайте специальное исследование, посвященное лотерейной стратегии на валютном рынке! Нажмите, чтобы перейти к статье...

Стать подписчиком:

RSS-иконка, 154 х 170, 7 Кб
Получать на E-mail:
Когда работа в интернете - основной источник дохода

rss2email.ru
Twitter-иконка, 168 х 161, 7 Кб

330 х 330, 34 Кб, Руслан Каюмов фото, на главную страницу Рад видеть Вас на этом блоге. Меня зовут Руслан Каюмов, 28 лет. Занимаюсь разработкой и монетизацией сайтов, пишу об этом здесь. Контакты >>

Стать подписчиком:

RSS-иконка, 185 х 170, 7 Кб Twitter-иконка, 185 х 170, 8 Кб

А ЗНАЕТЕ ЛИ ВЫ, ЧТО...

    ...среди 26 способов интернет-заработка посетители сайта наивысшую оценку поставили >>"Продвижению сайтов"<< Смотрите остальные 25 способов и голосуйте.
  раместите здесь свой баннер   раместите здесь свой баннер   Rotaban.ru - биржа банерной рекламы

Авторизация



Регистрация новых пользователей производится временно в ручном режиме

На Календаре:

< Июня 2009 >
П В С Ч П С В
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
23 24 25 26 27 28
29 30