Программирование HTML Joomla: заметки по использованию Sat, December 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Joomla: заметки по использованию Печать
Добавил(а) microsin   

Часто задают вопросы: "У меня весь экран в каких то надписях" и приводят в качестве примера блоки текста, которые начинаются со слов Warning, Notice и т.п. Эти сообщения являются не ошибкой, а только предупреждениями и уведомлениями для программиста и в процессе работы готового сайта они не нужны и должны быть отключены.
Достигается это правильной настройкой параметра error_reporting в файле php.ini.
Для того, чтобы отключить вывод ошибок из своей программы, достаточно в РНР код поместить следующие строки (в режиме РНР):

// Включает вывод всех сообщений
error_reporting( E_ALL );
// Включаются только сообщения о критических ошибках
error_reporting( E_ERROR );

Мамбот – это небольшая узкоспециализированная функция, которая перехватывает и манипулирует контентом тем или иным способом, перед его публикацией. В стандартном пакете Joomla! имеется несколько мамботов, например: {mosimage}, {mospagebreak}. Текст мамбота виден при редактировании содержимого статей, а при показе содержимого конечному пользователю включается преобразование - например, вместо показывается картинка из специального списка ("Рисунки к тексту").

Внимание с файлом конфигурации configuration.php - если в переменной $mosConfig_live_site указан линк на сайт без www, например

$mosConfig_live_site = 'http://jml55.ru';

то обязательно в админку надо заходить по ссылке без www - http://jml55.ru/administrator/, ни в коем случае не http://www.jml55.ru/administrator/, иначе возникает неприятный глюк в редакторе контента - содержимое статьи не загружается, и браузер отображает в строке статуса желтый треугольный значок с восклицательным знаком, сигнализирующим об ошибке. Если кликнуть на этот значок, высвечивается сообщение об ошибке (жмем кнопку Show Details >>):

Line:  3714
Char: 5
Error: Access is denied.
Code:0
URL: http://www.jml55.ru/administrator/index2.php?option=
com_content§ionid=0&task=edit&hidemainmenu=1&id=7.

То есть начало линка (с www или без) должно соответствовать значению переменной $mosConfig_live_site.

Содержимое сайта структурируется так: Section (Раздел) -> Category (Категория) -> Content (Контент, или содержание). Категории управляются (редактируются и создаются новые).

Основное тело страницы отображается функцией mosMainBody(), которая описана в файле www\includes\frontend.php. Функция mosMainBody() вызывается из кода шаблонов таким образом:

< ?php mosMainBody(); ? >

При работе Joomla! в каталоге tmp\ образуются файлы сессий с именами типа sess_08269c69ad4d6bcaa2f2e1db2a8e327c.

Сначала опишу стандартную процедуру бэкапа/восстановления на примере пакета Denwer, установленного на диск q: (предположим, сайт с Joomla на Denwer находится в папке Q:\home\jml55.ru\), процесс по шагам.

• Идем на http://localhost/, далее внизу идем по ссылке "phpMyAdmin - администрирование СУБД MySQL" (http://localhost/Tools/phpmyadmin/index.php).

• На главной странице phpMyAdmin идем по ссылке "Экспорт" (http://localhost/Tools/phpmyadmin/server_export.php?lang=ru-win1251&server=1&collation_connection=cp1251_general_ci).

• Выбираем базу Joomla в списке (пусть база называется joodb1), удостоверяемся, что радиокнопка ниже стоит напротив SQL, сжатие можно поставить для экономии места в архивировать в zip, жмем "Пошел". Высветится запрос на загрузку файла, сохраняем его.

• Удаляем старую базу joodb1. Это делается через phpMyAdmin\Базы Данных\ ставим галочку напротив joodb1, жмем кнопку "Уничтожить", подтверждаем запрос DROP DATABASE `joodb1` - жмем кнопку "Да". Или, что намного проще, выполняем Q:\usr\local\mysql4\bin\mysql.exe -uroot -hlocalhost --execute="DROP DATABASE joodb1".

• Распаковываем файл из архива в локальную директорию, пусть это будет c:\aaa\localhost.sql. Выполняем в командной строке:

Q:\usr\local\mysql4\bin\mysql.exe -uroot -hlocalhost --default-character-set=cp1251 
--character-sets-dir=Q:\usr\local\mysql4\share\charsets < localhost.sql

Тут самое интересное. Если в этой команде не использовать опцию "--default-character-set=cp1251", то будут проблемы с показом русского языка. В описанном примере предполагалось, что все манипуляции происходят на одном компьютере. Если этим методом нужно перенести Joomla на другой хост, то предварительно нужно установить Joomla с нуля на новом хосте, скопировать на новый хост файл Q:\home\jml55.ru\www\configuration.php, а затем выполнить восстановление базы данных Joomla (в данном примере joodb1).

При операциях с phpMyAdmin не удаляйте базы данных mysql (это чревато потерей функциональности с манипулированием таблицами) и phpmyadmin (служебная база phpMyAdmin).

Предполагаем, что база данных joomla называется joodb1, пакет Denwer установлен на диск q:, сайт с Joomla установлен в папку Q:\home\jml55.ru\. Для этого способа понадобится утилита mysqldump, и её нужно скачать отдельно, поскольку она не входит в пакет Denwer. Утилиту mysqldump можно взять из zip-пакета сервера MySQL (см. [2, 3]). Утилиту mysqldump.exe я скопировал в папку Q:\usr\local\mysql4\bin\.

• Дампим базу:

Q:\usr\local\mysql4\bin\mysqldump -uroot -hlocalhost 
--character-sets-dir=Q:\usr\local\mysql4\share\charsets joodb1 > dump.txt

В файле dump.txt должен нормально читаться кириллический текст в кодировке ANSI (Windows).

• Удаляем старую базу:

Q:\usr\local\mysql4\bin\mysql.exe -uroot -hlocalhost --execute="DROP DATABASE joodb1"

• Создаем базу заново:

Q:\usr\local\mysql4\bin\mysql.exe -uroot -hlocalhost --execute="CREATE DATABASE joodb1 DEFAULT
CHARACTER SET cp1251 COLLATE cp1251_general_ci"

• Восстанавливаем базу:

Q:\usr\local\mysql4\bin\mysql.exe -uroot -hlocalhost --default-character-set=cp1251 
--character-sets-dir=Q:\usr\local\mysql4\share\charsets joodb1 < dump.txt

Шаблоны легко могут изменить коренным образом внешний вид Вашего сайта. Если вы не профессиональный дизайнер, не профессиональный веб-разработчик, и выбрали Joomla, то о дизайне можно просто... забыть! Проблема остается лишь в том, чтобы перепробовать море доступных в Интернете шаблонов (надеюсь, учить пользоваться Google, eMule и BitTorrent Вас не нужно), выбрать тот, что понравился, и заполнить его контентом. Таким образом, осталась чистая рутина, с которой справится любая домохозяйка.

Устанавливаются шаблоны достаточно просто:

• Скачиваем файл шаблона из Интернета, например с [4] или [5]. Обычно это zip-архив.

• В панели управления Joomla идем в меню Сайт\Шаблоны\Шаблоны сайта, жмем кнопку Новый.

• Возле окна ввода "Файл пакета:" жмем кнопку Browse..., выбираем наш файл архива, жмем кнопку "Загрузить и установить".

• Через несколько секунд после успешной загрузки увидите надпись "Загрузка template - Успешная", и обычно название шаблона и комментарий разработчика. Жмем ссылку "Продолжить ...".

• Ищем в таблице по названию только что установленный шаблон, ставим радиокнопку напротив него, жмем кнопку "Умолчание". Зеленая галочка в столбце "Умолчание" переместится на выбранный нами новый шаблон.

• Обновляем (F5) в браузере вид вашего сайта - теперь у него применен новый шаблон.

Шаблон имеет простую структуру - это архив, содержимое которого при установке копируется в папку Q:\home\jml55.ru\www\templates\ (предположим, Ваш сайт с Joomla лежит на Denwer в Q:\home\jml55.ru\).

Ошибки при загрузке шаблонов:

Загрузка template - "Ошибка загрузки - Не могу переместить загруженный файл в каталог /media" означает, что архив имеет неправильную структуру (обычно в этом случае в архиве присутствует еще и вложенные архивы с шаблоном и исходниками к нему).

Загрузка template - "Загрузка сорвана - ОШИБКА: Не могу найти XML установочный файл в пакете. Установочный файл не найден: q:\home\jml55.ru\www\media\install_46f8b162be0e5\" означает то же самое, что в предыдущем случае - архив имеет неправильную структуру. Найдите в этом архиве архивы с шаблонами и извлеките их оттуда, а потом загрузите.

(25 сентября 2007) Сайт Joomla постоянно показывается браузером в неверной кодировке - вместо русских букв кракозябры, но если попробовать включить кодировку Cyrillic Windows, то русские буквы отображаются нормально. Беда в том, что при каждом новом открытии страницы снова включается неверная кодировка. В этом случае нужно исправить в теге meta переменную charset. Часто там стоит что-то типа charset=iso-8859-1 (соответствует кодировке Western European (ISO)), из-за этого браузер постоянно включает эту кодировку. Нужно изменить на charset=windows-1251.

(26 сентября 2007) Шаблоны можно установить вручную. Как известно, папки шаблонов находятся в папке Q:\home\jml55.ru\www\templates\ (предполагается, что сайт с Joomla находится у Вас на Q:\home\jml55.ru\). Можно просто переписать папку шаблона из архива в папку Q:\home\jml55.ru\www\templates\, и этот шаблон сразу станет доступен - если обновить просмотр (F5) Менеджера шаблонов в панели управления Joomla, то этот шаблон появится в списке шаблонов. Удалить шаблон можно подобным образом - просто удалив папку шаблона из Q:\home\jml55.ru\www\templates\. Если удалить папку шаблона, который назначен по умолчанию, то при обновлении просмотра сайта появится ошибка (Файл(ы) запрошенного скина не найден(ы): имя_шаблона). Чтобы исправить её, достаточно назначить новый шаблон по умолчанию.

Этот способ установки/удаления шаблонов быстрее и эффективнее, чем если все операции делать в админке Joomla. Но, к сожалению, он не всегда корректен - иногда папка в архиве имеет не то имя, которое должна была бы иметь папка этого шаблона в Q:\home\jml55.ru\www\templates\. В этом случае надо или переименовать папку, или установить шаблон стандартным методом.

(27 сентября 2007) Предпросмотр шаблона в менеджере шаблонов осуществляется с помощью картинки template_thumbnail.png которая находится в папке шаблона. Обычно она формата 206x145, 256 цветов. Несмотря на то, что картинка может быть любого размера, её лучше уменьшить каким-нибудь специальным инструментом (например, редактором ACDSee), иначе смотреться в менеджере шаблонов она будет коряво.

(28 сентября 2007) Иногда после установки шаблона не получается найти этот шаблон в списке шаблонов - его имя в этом списке не совпадает с названием папки шаблона. В этом случае нужно открыть файл templateDetails.xml и посмотреть тег - в нем прописано имя шаблона, которое будет видно в списке менеджера шаблонов.

(29 сентября 2007) Чтобы в визуальном редакторе текста (наподобие JCE) вставить текст без форматирования, надо нажать на кнопку HTML, и туда вставить текст.

По умолчанию блог как способ представления контента настроен так, что только первая статья отображается в одну колонку, а все остальные - в две колонки. сделать, чтобы все статьи отображались в одну колонку, нужно (на примере mainmenu) зайти в Меню\mainmenu, в таблице щелкнуть на название нужного пункта меню, откроются его свойства, в правой части, где параметры, исправить в параметре "Колонки" число 2 на 1.

(1 октября 2007) Что такое мамбот? Это невидимый специальный компонент сайта, который добавляет ему дополнительную функциональность. Например мамбот Simple Image Gallery Plugin позволяет с помощью тегов 

отображать фотографии в любом месте контента в виде галереи. Автор этого мамбота JoomlaWorks.gr. Итак, процесс установки по шагам:

• Скачиваем мамбота отсюда: http://joomlaworks.gr/files/plugin_jw_sig_1.2.1.zip
• Устанавливаем мамбота. Для этого:

- Распаковываем содержимое архива в любую папку, пусть это будет c:\temp.
- Входим с панель управления Joomla как суперадминистратор, идем в меню Установка\Мамботы
- В строке ввода "Установить из каталога\Где находится пакет" впечатываем c:\temp и жмем кнопу Установить. Любуемся на красочное окно, сообщающее об успешной установке плагина и о том, какой он хороший. Жмем ссылку "Продолжить...".

Другой вариант установки:

- Входим с панель управления Joomla как суперадминистратор, идем в меню Установка\Мамботы
- В строке ввода "Загрузить установочный пакет" кнопкой Browse выбираем архив plugin_jw_sig_1.2.1.zip и жмем кнопу "Загрузить и установить".

• Публикуем мамбота. Идем в меню Мамботы\Мамботы сайта. Ставим галочку напротив только что установленного компонента "Simple Image Gallery Plugin", жмем кнопку Публикация.

После установки в папке Q:\home\jml55.ru\www\mambots\content\ появится содержимое архива plugin_jw_sig_1.2.1.zip. После публикации мамбота содержимое этих папок не меняется. Однако установить мамбота простой распаковкой архива в папку Q:\home\jml55.ru\www\mambots\content\ не получится (в отличие от установки шаблонов).

• Теперь осталось протестить мамбота, как он работает. Предположим, ваш сайт с Joomla установлен на Denwer в каталог Q:\home\jml55.ru\, тогда делаем папку Q:\home\jml55.ru\www\images\stories\myphotos. В папку myphotos кладем для примера пару-тройку фотографий - растровых картинок в формате *.jpg. Делаем любой материал, либо открываем старый. В редакторе материала печатаем строку в любом месте статьи. Как раз в этом месте и должна появиться галерея. Сохраняем материал статьи, публикуем его, если он не опубликован. Открываем на сайте материал с галереей и видим в том месте статьи, где был вставлен тег миниатюрные предпросмотровые изображения (иконки) фотографий, которые лежат в папке myphotos. При щелчке на иконку фотография выводится в натуральную величину. Не стоит перебарщивать с качеством фотографий и их количеством, иначе галерея будет работать медленно. Можно публиковать фотографии во вложенных подпапках, и указывать ссылки на них типа . Подробнее читайте в первоисточнике на сайте [6].

• Чтобы сменить корневую папку галерей с /images/stories/ на, например, /images/, нужно исправить в файле mambots\content\plugin_jw_sig.php в строке 22 переменную $rootfolder, а также в файле mambots\content\plugin_jw_sig\showthumb.php в строке 15 переменную $_image_.

• Недостаток Simple Image Gallery Plugin - плохой просмотрщик, который не подходит для просмотра больших галерей - он выводит картинку вверху страницы Internet Explorer, и если окно прокручено вниз, к последним фотографиям, то окно просмотра вообще не видно, пока не прокрутишь страницу вверх. Эта беда поправима, если подправить код mambots\content\plugin_jw_sig.php - там надо отключить вызов просмотрщика lightbox. Для этого строку 68

$html .= '< div class="sig_cont" >
< div class="sig_thumb" >
< a href="'.$mosConfig_live_site.$rootfolder.$_images_dir_.'/'.$images[$a]['filename'].'"
rel="lightbox[sig'.$sigcount.']" title="';

надо заменить на

$html .= '< div class="sig_cont" >< div class="sig_thumb" >< a
 href="'.$mosConfig_live_site.$rootfolder.$_images_dir_.'/'.$images[$a]['filename'].'" title="';

После такой правки при щелчке на картинке будет вызываться не просмотрщик lightbox, а просто новое окно Internet Explorer.

• Размер картинок-иконок галереи регулируется в свойствах мамбота Simple Image Gallery Plugin. Этот размер передается в параметрах width и height вызова файла mambots/content/plugin_jw_sig/showthumb.php (видно, если посмотреть исходный код галереи - в Internet Explorer в контекстном меню выбрать View Source).

(2 октября 2007) Что такое модуль? Это специальный видимый блок сайта, который может вывести дополнительный маленький контент в стандартных местах сайта, например наверху страницы (Top), в колонке слева (Left), справа (Right) или в другом месте. Модуль удобно использовать для отображения баннеров и блоков рекламы.

Модуль JW Simple Image Rotator (автор JoomlaWorks.gr) позволяет вывести плавно сменяющие друг друга картинки из заданного каталога, так называемый режим eye-candy. Итак, процесс установки по шагам:

• Скачиваем модуль отсюда: http://joomlaworks.gr/files/mod_jw_sir_1.2.zip

• Устанавливаем модуль. Для этого:
- Входим с панель управления Joomla как суперадминистратор, идем в меню Установка\Модули
- В строке ввода "Загрузить установочный пакет" кнопкой Browse выбираем архив mod_jw_sir_1.2.zip и жмем кнопу "Загрузить и установить".

• Публикуем модуль. Для этого идем в меню Модули\Модули сайта, ищем в таблице JW Simple Image Rotator, ставим галочку напротив него, жмем кнопку Публикация. После установки и публикации в папке Q:\home\jml55.ru\www\modules\ появляется содержимое архива mod_jw_sir_1.2.zip.

• Теперь осталось протестировать модуль, как он работает. Входим в его свойства модуля, щелкнув на имени. Меняем параметры:
- Показывать заголовок: ставим Нет.
- Параметр "Позиция:" задает, в каком месте будет отображаться модуль (по умолчанию слева, Left).
- Параметр Image Folder path определяет каталог, из которого берутся картинки отображения (по умолчанию images/stories/headers). Предположим, ваш сайт с Joomla установлен на Denwer в каталог Q:\home\jml55.ru\, тогда делаем папку Q:\home\jml55.ru\www\images\stories\headers, и туда запишем фотографии, которые будут отображаться.
- Параметр Force image resize (if wider) ставим Yes.
- В параметр Link to URL впечатываем URL, который должен открываться при щелчке на показываемые картинки.

Как обычно, для ускорения работы лучше ограничить размеры картинок и их количество. На одной странице можно опубликовать не более одного модуля JW Simple Image Rotator. Подробнее читайте на сайте [7].

(5 октября 2007) В редакторе контента работают шорткаты (горячие клавиши):

Ctrl+B преобразование выделенного текста в Bold (толстый) и обратно.
Ctrl+I преобразование выделенного текста в Italic (наклонный) и обратно.
Ctrl+C копирование в буфер обмена.
Ctrl+X вырезать в буфер обмена.
Ctrl+V вставить из буфера обмена.

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

В редакторе контента на тулбаре есть удобная кнопка с ластиком - для отмены форматирования выделенного текста.

(6 октября 2007) Компонент Контакты служит для запоминания в системе контактной информации о людях. Контакты можно разбить по категориям, и на категории назначить уровень доступа к контактам, что позволяет изменить видимость этих контактов для разных видов пользователей. Чтобы контакты стали видны, нужно зайти в Меню\mainmenu\Контакты, и справа в области Параметры:

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

(10 октября 2007) В редакторе JCE при вставке ссылки открывается окно со списком статей, выбрав нужную получаем ссылку на нее. Ссылки можно прописать и вручную, для этого достаточно лишь знать ID объекта. Узнать его можно, открыв список объектов статичных, либо из определенного раздела или категории (колонка ID, справа от названия объекта и типа доступа). При этом ссылка будет иметь вид index.php?option=com_content&view=article&id=ID_объекта

Если вам необходимо во время редактирования узнать ID объекта, то можно продублировать окно админки, и в одном будет редактор, а в другом открыть список со статьями сайта. Достаточно будет лишь переключиться в другое окно, чтобы узнать ID. Редактор HTMLArea создает ссылки относительные корня сайта, поэтому не важно локально сайт или в сети, потому как все им создаваемые ссылки имеют вид index.php?option=bla-bla-bla...

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

- с сайта [8] скачиваем JCE Editor Mambot и JCE Admin Component. На момент написания статьи это были архивы bot_jce_116.zip и com_jce_111.zip соответственно. Однако русского языка в этом редакторе нет. Проблемы в этом нет, если у Вас на сайте нет Разделов и Секций, которые называются по-русски. Иначе будете сталкиваться с проблемами при их отображении (например, при вставке перекрестных ссылок на содержимое собственного сайта). Чтобы такого точно не было, придется порыскать в Интернете в поисках русифицированной версии JCE. Я нашел их на форуме forum.joom.ru, Тема: Русифицировал бот JCE.

- ставим мамбота, ставим компонент, именно в такой последовательности как обычно, через меню Установка).

- в параметрах пользователя назначаем ему новый редактор - JCE Editor Mambot. В общих настройках сайта (в админке меню Сайт\Общие настройки) на закладке Сайт визуальный редактор выбираем JCE Editor Mambot.

- меню админки Компоненты\JCE Admin\JCE Configuration параметр Charset/Encoding ставим в windows-1251 (находится в правом столбце параметров).

(13 октября 2007)Способ 1 - вставка ссылок на картинки с помощью тега < img >. Для этого открывается HTML Редактор (в редакторе JCE кнопка "Редактировать HTML") и в нужное место вставляется такой HTML-код, например:

< img border="0" align="top" width="379" src="http://microsin.ru/assets/images/fixed_comma_digit.jpg"
 height="95" id="Picture11" />

Здесь параметр src указывает месторасположение картинки на сервере. Если скопировать в буфер обмена контент с картинками из окна Internet Explorer (с любого сайта), а потом вставить этот контент в редактор JCE, то картинки тоже "вставятся", хотя при этом копируются не сами картинки, а всего лишь теги с ссылками на них.

Способ 2 - использование для показа картинок мамбота. Для этого все картинки, которые должны отображаться в контенте, сваливаются кучей в каталог Q:\home\jml55.ru\www\images\stories\ (этот прямой путь соответствует размещению сайта jml55.ru на Denwer). Можно использовать подкаталог в \images\stories, и картинки поместить туда. В тех местах контента, где должны быть картинки, вставляется текст , а затем на закладке картинки в редакторе материала выбираются картинки материала в том порядке, в котором они появляются в контенте (в этих местах стоит ). Для этого выбирается очередная картинка и нажимается кнопка >>, после этого картинка появляется в списке "Картинки материала:".

Способ 3 (возможно, самый удобный) - воспользоваться кнопкой на панели инструментов "Вставить/редактировать изображение".
insert-pict.PNG
После нажатия на кнопку можно выбрать картинку из папки images/stories/, расположенной в корне сайта (напомню, что корень сайта это место, где лежит стартовый файл главной страницы сайта index.php).

Например, при вставке текста nbsp.gif или мы увидим на сайте совсем не этот текст. В первом случае будет просто пробел, а во втором () посадочное место для картинки Image. Другого способа, кроме как использовать в этом случае картинки, я пока не придумал (пример - в этом материале). Может, кто-нибудь знает другой путь, буду рад получить совет.

(14 октября 2007) У статичного материала нет раздела, категории и отсутствует introtext.

По умолчанию длина заголовков материалов в Joomla не может превышать 100 символов. Для увеличения необходимо сделать некоторые модификации. 

Для увеличения длины необходимо изменить размер поля в БД и исправить максимальную длину в формах редактирования материалов. Раз уж мы собираемся изменять оригинальные файлы Joomla, то увеличим длину 2-х полей Заголовок и Алиас заголовка. Процесс по шагам:

- Подключиться к БД с помощью phpMyAdmin
- Выбрать в списке слева БД в которой находятся таблицы Joomla
- В списке таблиц выбрать таблицу -- content (префикс таблицы может быть и другим)
- Отредактировать поля title и title_alias, изменив длину поля с 100 до 255 символов
- Найти в файле /components/com_content/content.html.php код:

< input class="inputbox" type="text" name="title" size="50" maxlength="100"
 value="< ?php echo $row->title; ? >" />

и заменить его на:

< input class="inputbox" type="text" name="title" size="50" maxlength="255"
 value="< ?php echo $row->title; ? >" />

- Сохранить изменения в файле content.html.php
- Найти в файле /administrator/components/com_content/admin.content.html.php код:

< input class="text_area" type="text" name="title" size="30" maxlength="100"
 value="< ?php echo $row->title; ? >" />

и заменить его на:

< input class="text_area" type="text" name="title" size="30" maxlength="255"
 value="< ?php echo $row->title; ? >" />

- Найти в файле /administrator/components/com_content/admin.content.html.php код:

< input name="title_alias" type="text" class="text_area" id="title_alias" value="
< ?php echo $row->title_alias; ? >" size="30" maxlength="100" />

и заменить его на:

< input name="title_alias" type="text" class="text_area" id="title_alias" value="
< ?php echo $row->title_alias; ? >" size="30" maxlength="255" />

- Сохранить изменения в файле admin.content.html.php

Почему на сайте при переходе на страницу (например, в список в категорий, в раздел) отображается "У Вас нет прав для просмотра этого ресурса. Вы должны зайти как пользователь.", а если зайти как пользователь, то просто "У Вас нет прав для просмотра этого ресурса."? Обычно это происходит потому, что в этом разделе (категории) нет ни одной опубликованной статьи.

При попытке вставить перекрестную ссылку (Ссылка на материалы\Категория\Выберите секцию) появляется ошибка "**PHP Error Messages:**NOTICE Undefined variable: article Error in line 68 of file q:\home\jml55.ru\www\mambots\editors\jce\jscripts\tiny_mce\plugins\advlink\advlink.php"

Лечится так: найдите файл mambots\editors\jce\jscripts\tiny_mce\plugins\advlink\advlink.php, в нем функцию getByType(), и вставьте в неё определение переменной:

 GLOBAL $article; 

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

Причина №1: файл конфигурации доступен на запись

Вся «левая» информация помещается прямо в файл configuration.php, который, как известно, загружается всегда по include перед любыми данными. В результате вместо сайта стартует та информация, которая помещается в этот файл. Исправления: восстановить файл configuration.php. Защита: снять права на запись с этого файла.

Причина №2: открытые для записи директории

В папку /administrator (если она доступна на запись!!!) записывается файл .htaccess (если он там отсутствует!!!) в котором переопределяется стартовый файл каталога: вместо index.php указывается другой файл, который тоже записывается в эту же папку. В результате, при запуске админки по пути (без явного указания имени файла), запускается «левый» файл, как правило, с турецкими или чеченскими национальными символами. Исправление: удалить или восстановить файл .htaccess. Защита: следить за правами доступа или поместить в защищаемые папки файл .htaccess нулевой длины, перемещенный туда через FTP.

ПРИМЕЧАНИЕ: Описанные методы не являются недостатками Joomla, а скорее результат русского «авось», когда пользователь на следит на правами на имеющиеся файлы и папки. Заключение - еще раз хочется обратить внимание, на то, что после успешной установки и настройки Joomla и ее расширений, нет никакой необходимости оставлять права на запись в директории сайта (за исключением папок cache и images). Поэтому, сразу после завершения настройки сайта, рекомендуется провести ревизию прав на файлы и папки, и закрыть по записи все папки, кроме двух перечисленных. И уж конечно, нет никакого смысла оставлять доступным по записи файл конфигурации Joomla.

Также прогуглите .htaccess deny allow ip - откроете для себя способ защиты важных страниц фильтрацией по IP. Поставьте себе плагин AdminExile: это засекреченный вход в админку Joomla, почти второй пароль, очень полезная вещь.

Как установить:

- скачиваем мамбота bot_josbwrewi_v1b.zip, ставим, как обычно
- отключаем публикацию мамбота "Защита e-mail адресов" (mosemailcloak).
- публикуем мамбота josBWrewi

Этот мамбот - достойная замена mosemailcloak, который у меня глючил (в строке адреса Outlook появлялся вместо адреса невообразимый текст, связанный с защитой адреса).

(16 октября 2007) SEO означает Search engines optimization (оптимизация сайта для поисковых систем). В этом разделе речь пойдет о формировании ссылок сайта.

По умолчанию все внутренние ссылки сайта на Joomla выглядят как http://jml55.ru/index.php?option=com_content&view=article&id=41&Itemid=44. Говорят, что такие ссылки плохо подходят для индексации в поисковых системах, и они неудобны для посетителей сайта. В Joomla есть технология SEO, которая включается в общих настройках сайта. После включения SEO вышеуказанная ссылка на статью волшебным образом преобразуется в http://jml55.ru/content/view/41/44/

Процедура включения проста, процесс по шагам:

1. htaccess.txt (лежит в папке www сайта, т. е. в корневом каталоге, там же где index.php) переименовываем в .htaccess (если используется Apache, как например, в пакете Denwer).
2. В панели управления сайтом заходим в Общие установки, идем на закладку SEO, радиокнопку Дружественные ссылки (SEF URLs) переключаем на Да, жмем Сохранить.

Поле этого работают как старые ссылки, так и новые (с SEO).

1. Правильно сформированная главная страница, рассказывающая о содержимом сайта.

2. Мета теги: Остановимся на основных – title, description, keywords.

Title – самый главный тег. Длина 80-250 символов, в зависимости от поисковика (Яндекс - 80, Рамблер - 118, Google - 70). Что это значит? Лишнее обрежут. Так что старайтесь вписаться в 70-80. Кроме того, чем меньше будет в нем слов, тем весомей они будут. Постарайтесь написать здесь главную идею вашего сайта, используя при этом те словосочетания, по которым Вы хотите, чтоб Вас находили. Старайтесь располагать ключевые слова ближе к началу.

Description - второй по важности. Сюда надо вписать то, что не влезло в Титл. Используйте ключевые фразы и слова. Если Вы не знаете, что писать, воспользуйтесь Яндекс Директом для подбора фраз. Длина тега: Яндекс - 200, Рамблер - не учитывает мета-тег!!!, Google - 156.

Keywords – практически не учитывается большинством поисковиков. Да, как не печально. Так как именно этим тегом на заре оптимизаторы SEO обманывали поисковики. Пишите сюда ключевые слова – не помешает.

3. Теги: < h1 > - < h6 >, < b >, < em >, < i >, < strong >. 

По заголовкам структура такая – желательно иметь на одной странице:
1 - < h1 >
2 - < h2 >
3-5 - < h3 >

Это не точное руководство, а примерное соотношение. Тег < h1 > - очень весомый тег. Но за большое его количество попросту забанят.

Остальными тегами можно пользоваться вольно, но помните, вы все же для людей страницы делаете :). Плотность ключевых слов влияет на релевантность страницы в поисковых запросах. Нормальная плотность – до 7%. Выше – будет опять же спам, так что страница типа продвижение, продвижение, продвижение, продвижение... не покатит.

Альты и титлы картинок, ссылки. Все альты и титлы писать! Во первых, они таки учитываются, во вторых есть Яндекс – картинки, лишний трафик вам не помешает. Внутренние ссылки никогда не помешают, если они к тому же повышают удобность навигации – почему бы нет?

JavaScript и другие скрипты: старайтесь их избегать по возможности, потому что это усложняет индексирование.

(16 октября 2007) Довольно часто пользователи Joomla спрашивают, каким образом можно зафиксировать позицию материала на главной странице сайта. Чтобы этот материал всегда был первым, и не смещался вниз после публикации новых материалов.

Использование модуля

Можно в шаблоне сайта, перед компонентной областью (mainbody), зарезервировать область для публикации модулей и в ней опубликовать пользовательский модуль с произвольным содержимым. Если все правильно сделано, содержимое модуля будет отображаться над всеми новостями главной страницы. Данное решение подойдет для добавления на сайт приветствия или обращения к посетителям.
минусы:
— поиск по сайту не будет учитывать содержимое этого модуля
— нет возможность задать даты начала и завершения публикации

Использование параметров сортировки

Порядок отображения может зависеть не только от самих материалов, но и от категорий, в которых они опубликованы. Поэтому можно создать специальную категорию, для фиксируемых новостей, включить сортировку материалов по категориям и настроить порядок отображения категорий. Далее приводим пошаговую инструкцию:
- Авторизуемся в административной панели
- Создаем новую категорию для новостей которые мы будем отображать на главной странице первыми
- В списке категорий в поле Порядок для для этой категории ставим -1
- Нажимаем на картинку с дискеткой (в заголовке таблицы с категориями рядом со словом Порядок)
- Выбираем пункт Меню->mainmenu
- Выбираем в списке Главная и нажимаем кнопку Изменить (Edit)
- Справа в параметрах главной страницы параметру Сортировка категорий устанавливаем значение Сортировать
- Нажимаем кнопку Сохранить

Назначение позиции материала

Данный способ, как мне кажется, самый простой. Для того чтобы зафиксировать какой-либо материал на главной странице сайта необходимо выполнить следующие действия:
- Авторизуемся в административной панели
- Выбираем пункт меню Материалы->Материалы на главной
- В списке материалов опубликованных на сайте выбираем материал
- В поле Порядок для этого материала ставим -1
- Нажимаем на картинку с дискеткой (в заголовке таблицы с материалами рядом со словом Порядок)

Использование отрицательных значений в поле Порядок, дает возможность зафиксировать не один, а несколько материалов. Это может быть весьма полезно например при публикации платных объявлений. Минусы: данный способ не будет работать если в параметрах главной страницу в качестве параметра сортировки указана например дата или заголовок материала.

1. Материал состоит из двух частей - "Вводный текст" и "Продолжение статьи". Можно использовать для материала только "Вводный текст", однако желательно использовать обе части, по крайней мере для материалов, которые хотите видеть на главной странице, потому что в этом случае при опубликовании такого материала на главной странице выводится только вводный текст, что позволяет более удобно проанонсировать на главной странице интересные материалы.

2. Есть два способа начать новую строку:
- перевод строки без начала нового абзаца, делается через Shift+Enter. Обычно такое начало строки дает мЕньший отступ для новой строки.
- перевод строки с началом нового абзаца, делается через простое Enter. Обычно такое начало строки дает бОльший отступ для новой строки.

В конце "Вводного текста" и "Продолжения статьи" (если продолжение есть) должен быть перевод строки с началом нового абзаца, а в начале "Продолжения статьи" не должно быть никаких отступов. Это позволяет:
- сделать правильный отступ до строчки "Последнее обновление ( ... тут дата ... )".
- сделать правильный отступ между "Вводным текстом" и "Продолжением статьи" (если продолжение есть).

3. Желательно для подзаголовков применять теги h2 (Heading 2) и в них использовать важные ключевые слова (важно для хорошей индексации Вашего сайта поисковиками, см. совет ...).

4. Целесообразно включить либо опцию "Ссылка -Еще-", либо "Заголовки как ссылки", при этом с главной страницы будет возможность перейти на полную версию материала. Это делается в Общих установках сайта, закладка Материалы. Я выбрал включение "Ссылка -Еще-", а "Заголовки как ссылки" как отключил, поскольку мой шаблон иначе показывал заголовки некрасиво, мелким текстом.

Как посмотреть размещение частей сайта (позиций в терминологии Joomla) - http://jml55.ru/?tp=1

В каждой позиции можно отображать один или несколько модулей. Как правило, в позициях right и left модули размещаются вертикально, а в позициях top и bottom - горизонтально, но бывают и исключения (шаблон madeyourweb из дистрибутива Joomla 1.0.12 RE, позиция top - в ней модули выводятся вертикально).

Модули в Joomla отвечают за визуальное отображение всех функциональных элементов, присутствующих на странице сайта.

В Joomla есть модули отображения меню, форм поиска по сайту, авторизации, голосования и т.д. Список установленных модулей можно посмотреть, выбрав в панели управления пункт меню Модули > Модули сайта.

Модули, выводимые в одной позиции, имеют свой порядок, задаваемый номером. Изменяя настройки модуля в панели управления, легко можно модуль авторизации поменять местами с модулем главного меню или переместить их в правую часть страницы. Новую позицию или порядок модуля можно задать в окне редактирования модуля. Но не без нюансов! Для некоторых модулей такие манипуляции бесполезны.

Внимание! Это совет стоит рассматривать только как пример редактирования шаблона, поскольку гораздо практичнее достичь той же цели, что в примере, с помощью модуля (см. заметку 18). Здесь рассказывается, как отредактировать шаблон и добавить баннер в левую полосу на примере баннера Rambler Top100.

- в админке сайта открываем список шаблонов (меню Сайт\Шаблоны\Шаблоны сайта), ставим радиокнопку напротив шаблона по умолчанию (в этом шаблоне отображается наш сайт, и это шаблон помечен зеленой галочкой с столбце "Умолчание"), жмем кнопку "Правка HTML"
- ищем строку

< ?php mosLoadModules ( "left" ); ? >

Она загружает модули, отображаемые слева. Сразу после этой строки добавляем код баннера Rambler:

  ...
< ?php mosLoadModules ( "left" ); ? >
< br > < !-- это для отступа от последнего модуля -- >
< !-- begin of Top100 -- >
< a href="http://top100.rambler.ru/top100/" >
< img src="http://counter.rambler.ru/top100.cnt?xxxxxx"
 alt="Rambler's Top100" width=81 height=63 border=0 >< /a >
< !-- end of Top100 code -- >
  ...

Жмем кнопку "Сохранить".

Есть еще один способ сделать то же самое - опубликовать в левом столбце новый модуль, см. пример создания модуля для отображения блока ProofReader [9].

При вставке в редактор Joomla текста, скопированного из окна Internet Explorer, обнаружилась неприятная проблема, которая заключается в слиянии нескольких строчек в одну после сохранения статьи. Это происходит из-за неправильной обработки символа < , который применяется для оформления тегов. После длинных разборок выяснилось, что проблема возникает, когда эти строки заключены в теги:

< div class="code" >
< pre class="code" >
   ... здесь строки,
       с которыми возникает проблема
< /pre >
< /div >

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

(15 ноября 2007) Такая ошибка у меня возникла, когда я установил слишком много шаблонов - после этого попытка запуска менеджера шаблонов (Сайт\Шаблоны\Шаблоны сайта) завершалась с такой ошибкой в файле xml_domit_lite_parser.php. Устранил, добавив в файл xml_domit_lite_parser.php, в самое начало файла строку set_time_limit (60);, тем самым увеличил время таймаута до 60 секунд, что вполне хватило.

Внимание! set_time_limit() не дает эффекта, когда PHP запущен безопасном режиме. Либо выключите safe mode, либо поменяйте лимит времени в php.ini.

(3 января 2009) Как посмотреть общую статистику запросов страниц (сколько было посещений на каждую статью по всем категориям и разделам):

Joomla админка -> Материалы -> Статистика запросов страниц (Статистика обращения к материалам).

(27 сентября 2009) Разделы, категории, пункты меню в Joomla 1.5 имеют псевдонимы, или alias. Они нужны для формирования ЧПУ - удобно читаемых для человека ссылок. Однако чтобы эти ЧПУ заработали и псевдонимы начали использоваться в ссылках, нужно в настройках сайта включить ЧПУ.

Эта ошибка неожиданно начала появляться на Joomla 1.0.12. Как исправить: надо запретить мамбот SEF. Перейдите в меню админки Мамботы -> Мамботы сайта -> SEF, уберите с этого мамбота зеленую галочку (должен стоять красный крестик, т. е. это означает что мамбот SEF запрещен).

[Ссылки]

1. Видеоуроки по Joomla 1.5 Воропаева Виктора. Отлично прочищает мозги даже продвинутым пользователям Joomla. Пароль для rar-архива X2hCJ8fra. Для просмотра видеоуроков откройте с помощью Internet Explorer файл index.html в папке урока. В системе должен быть установлен Flash-плеер для Internet Explorer (уроки записаны в виде видеоролика Flash).
2. MySQL Community Downloads site:dev.mysql.com.
3. MySQL скачать site:mysql.ru.
4. Joomla Templates site:mambohut.com.
5. Joomla 1.0.x Templates II site:joomla24.com.
6. Simple Image Gallery Plugin site:joomlaworks.net.
7. JW Simple Image Rotator site:joomlaworks.net.
8. Joomla Content Editor (JCE) site:joomlacontenteditor.net.
9. Joomla: средство для борьбы с опечатками на сайте

 

Комментарии  

 
0 #3 andrey 26.08.2010 04:21
Как разархивировать Видеоуроки по Joomla 1.5 Воропаева Виктора? Требуют пароль.
Цитировать
 
 
0 #2 Дмитрий 10.09.2009 17:40
а можно описать?
- как вы понимаете взаимосвязь расширений - модуль, плагин, компонент на http://extensions.joomla.org/ они обозначаются ещё буковками
С - component
M - module
P - plugin
и S (extension specific addon) ещё какой-то.

microsin: взаимосвязь расширений я никак не понимаю. Думаю, взаимосвязи никакой нет, кроме той, что может быть предусмотрена разработчиками расширений. По поводу буковок - я сам не очень просекаю все тонкости терминологии Joomla. Думаю, что P (plugin) - это то же самое, что раньше называлось термином "мамбот" - специфический обработчик содержимого статьи, который позволяет её представить в несколько ином виде, либо добавить в неё новые элементы (классический пример mosimage). S (extension specific addon) - расширение функционала Joomla, связанное с определенным веб-приложением или компонентом.
Цитировать
 
 
0 #1 дима 20.04.2009 16:06
Наконец-то нашел нормальную статью про JCE, спасибо :roll:
Цитировать
 

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


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

Top of Page