Куда идем?

Знакомясь с Joomla, на пути от новичка до профи, многие веб-мастера сталкиваются с вопросами, ответы на которые нужно искать в сети. На wedal.ru мне задают много вопросов. Некоторые из них повторяются достаточно часто. Такие вопросы я собрал в этой статье и написал по каждому комментарии и ответы. Советую не пропускать эту статью мимо, т.к. в ней описаны решения проблем, с которыми, рано или поздно, столкнется практически каждый web-мастер.

Белый экран

Наверное самый частый вопрос, который мне задают, это «белый экран». При установке или настройки расширений, редактировании шаблона и многих других действиях на сайте при переходе по ссылке можно увидеть «белый экран». Т.е. браузер показывает белую страницу и ничего более.

Решение тут простое. Белый экран в большинстве случаев означает ошибку в php-коде одного из файлов. Вы могли где-то не закрыть скобку, не поставить точку с запятой, ошибиться буквой в операторе. Много чего. «Белый экран» служит для лучшей защищенности сайта. Если хакер попытается взломать сайт и увидит информацию об ошибке, это позволит ему быстрее достигнуть своей цели. По этой причине для работающего сайта в случае возникновения ошибки нормой считается показывать пустой экран. Но во время разработки такие ошибки нужно видеть, иначе как же их исправлять? Если вы работаете на локальном сервере, то отображение можно включить/выключить в файле php.ini. Находим в нем параметр «display_errors» и изменяем с «off» на «on». Если же сайт находится на хостинге и доступа к php.ini нет, то в файл .htaccess, который находится в корне Joomla, добавляем строчку:

1
php_value display_errors 1
Если у вас есть только файл htaccess.txt, читайте следующий вопрос.

htaccess.txt и .htaccess

Очень часто встает вопрос почему ссылка выглядит не так, как хотелось бы. Человек вроде бы и все СЕО-настройки включил в глобальной конфигурации Joomla, а все равно не то. Несмотря на то, что в этих настройках стоит восклицательный знак, многие забывают переименовать файл htaccess.txt в .htaccess. Что это за файл, и за что он отвечает? Вот цитата из Википедии:

«.htaccess (от. англ. hypertext access) — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д., без изменения главного конфигурационного файла.»

О чем идет речь частично можно понять из описания предыдущей ошибки.

Важно помнить: если на сайте будут использоваться SEF-ссылки, то этот файл должен быть переименован. Windows XP, коим сегодня все еще пользуется много людей, отказывается переименовывать файл в .htaccess – говорит, мол, расширение файлу задай. Если вы столкнулись с такой проблемой, то воспользуйтесь любым файловым менеджером. Подойдет тот же Total Commander. Почитав подробнее про этот файл, вы можете узнать много интересных штук, которые можно применить к Joomla.

Максимальный размер загружаемого файла и максимальное время выполнения скрипта

Две настройки сервера, о которых многие не знают. Бывает так, что вы пытаетесь установить большое расширение, а Joomla выдает ошибку загрузки файла на сервер. Или так: загрузка идет, идет, идет, и… прерывается белым экраном или ошибкой.

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

Чтобы решить проблему, нужно, по аналогии с вопросом про белый экран, переименовать htaccess.txt в .htaccess, а затем дополнить его следующими строчками:

1
2
3
4
5
php_value post_max_size 10M
php_value upload_max_filesize 10M
php_value max_execution_time 200
php_value max_input_time 200
php_value max_execution_time 600
Значение этих опций следующие(в том же порядке): максимальный размер отправляемых данных, максимальный размер загружаемого файла, время на загрузку файла и данных(3я и 4я строки), максимальное время выполнения скрипта.

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

Поиск в файлах

В этот вопрос входит много подвопросов. Все они разные, но смысл одинаков: «В моем компоненте, модуле, плагине, шаблоне есть текст, который не перевелся после установки локализации. Где его можно найти и перевести?», или: «Я хочу изменить надпись на этой кнопке, лейбле, чекбоксе, и.т.д. Где она меняется?». Особенно много подобных вопросов поступает по VirtueMart. Люди часто хотят что-то где-то перевести по-своему, но не знают как это сделать. Помню, когда я только начал изучать все премудрости Virtuemart, то в поисках определенной надписи перерывал  кучу языковых файлов. На это уходило много времени, хотя на самом деле все делается за пол минуты.

Все знают что такое поиск файлов, но почему-то, когда речь идет о поиске в файлах, многие впадают в ступор. Да, языковые файлы имеют расширение, отличное от .doc и .txt. Но если «поисковый пёсик» Windows еще как-то может переварить файлы .ini, то с .php у него проблемы.

Проблема решается просто: нужно установить любой более-менее вменяемый файловый менеджер. Возьмем Total Commander. Я использую именно его. Переходим в корень сайта Joomla, далее в верхнем меню выбираем «Команды» –> «Поиск файлов». Откроется вот такое окно:

Joomla FAQ

Ставим галочки в опциях «С текстом», «UTF8», в нижнее поле вводим нужную фразу и начинаем поиск.

Таким способом найти файл для правки очень легко. Единственный минус способа – если сайт находится на хостинге, то через FTP такая штука уже не пройдет. Но в запасе всегда должна быть резервная копия сайта, на которой делаются эксперименты, так что это не должно стать проблемой.

Права на папки и файлы

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

Правило тут простое: права всех папок должны быть 755, всех файлов – 644.

Если цифры выше вам ничего не говорят и вы вообще не понимаете о чем идет речь, то отсылаю к Википедии. Изменить права можно через FTP-клиент, через который вы подключаетесь к сайту(тот же Total Commander), панель управления хостингом или специальный компонент Joomla, например, eXtplorer.

Mootools vs JQuery

Случается так, что начинающий веб-мастер, видя изобилие расширений для Joomla, не думая устанавливает на свой сайт все подряд. Это естественно для новичка, ведь логика такая: пусть будет на всякий случай. Понимание проблем безопасности, быстродействия и совместимости, возникающих при таком подходе, появляется гораздо позже.  А прежде задаются вопросы: «почему после установки компонента(модуля, плагина) Х, перестал работать компонент(модуль, плагин) Y?». Часто ответом на этот вопрос, особенно, когда речь идет о всяких галереях и слайдшоу, может служить частичная несовместимость JavaScript-библиотек Mootools и JQuery. Официально, стандартной библиотекой для Joomla является Mootools, но фреймворк JQuery сейчас очень активно развивается не только в плане функционала, но и в документации. Чтобы на сайте работал и Mootools и JQuery, рекомендуется использование режима noConflict. А вообще, по правилам хорошего тона, на сайте должна использоваться только одна библиотека скриптов.

Плагин loadmodule

«Посоветуйте расширение для вывода модуля Joomla в статье» – такой вопрос я слышу довольно часто. Интересно то, что плагин, осуществляющий такой фокус, уже встроен в Joomla. Его название loadmodule. Подробнее о том, как применять данный плагин можно прочитать в этой статье.

Надеюсь, данная статья ответит на вопросы многим веб-мастерам, работающим с Joomla, и поможет им сэкономить немало времени.

Об авторе
Wedal
(Виталий). Веб-разработчик полного цикла (Full Stack). Создатель и автор сайта Wedal.ru.
Основной профиль – создание сайтов и расширений на CMS Joomla.
Добавить комментарий

Комментарии  
1
Wedal, спасибо за очередной полезный материал. Метод поиска в файлах очень пригодился.
1
спасибо, необходимая инфа
1

Цитата:

рекомендуется использование режима noConflict.

Что это за режим, где включается? :-)
1
Pega, все не так просто. Почитайте про этот режим в Википедии.
1
Cкажите пожалуйста, а как в joomla 1.6 поменять страницу ошибки 404 на свою?
0
Анна, в шаблонах. Она error.php называется.
0
В пункте Mootools vs JQuery про меня и таких как я говорится. Только недавно начал задумываться об этом. О "хорошем тоне" узнал отсюда. Спасибо.
И еще, как можно узнать какие расширения используют ту или иную библиотеку. Есть ли быстрый способ. И как вы считаете какой лучше пользоваться (т.е. на основе какой больше и разнообразней расширения)?
0

Цитата:

еще, как можно узнать какие расширения используют ту или иную библиотеку. Есть ли быстрый способ.

Если разработчик расширения не указывает это прямо, то самый быстрый способ: установить, активировать и посмотреть исходный код страницы. В нем прописаны все подключаемые скрипты и библиотеки.


Цитата:

И как вы считаете какой лучше пользоваться (т.е. на основе какой больше и разнообразней расширения)?

Лично мне больше нравится JQuery. Это связано с тем, что по этой библиотеке гораздо больше описаний и готовых скриптов. Но стандарт для Joomla - это Mootools. Именно ее используют большинство расширений да и сама CMS.
0
Добрый день.

А под режимом noConflict имеется ввиду, что данный режим нужно выставлять в модуле, или в настройках джумлы имеется режим noConflict?
0
Алексей, нет и нет. Читайте про этот режим в Википедии. Вроде был специальный плагин для Joomla, который автоматически активировал этот режим.
0
Скажите, пожалуйста, а есть ли какая то разница для безопасности доступа в использовании ftp или панели cPanel через браузер?
0
Семен, чтобы ответить на ваш вопрос полностью нужно целую статью написать. Если коротко, то у каждого способа есть свои плюсы и минусы. Что точно является фактом, так это то, что редактировать файлы через ftp гораздо удобнее.
0
добрый день, насколько можно судить по материалм сайта-Вы неплохо разбираетесь в Джумле. Могу я спросить задать вопрос-сам не могу разобратьс, может вы знаете.
Делаю сайт для своей компании, и вот на главной оргнанизовал вывод материалов с помощью меню блога на главной, т.е сначала идет 1 статья, потом несколько статей в две колонки. (пример dllmaster.ru) не могу понять как вставить после 2х столбцов статью на всю ширину.
Может быть знаете решение?
0
Виктор, решений несколько.
Наиболее правильное - переопределить шаблон главной страницы и изменить его под себя. Но это весьма сложно, особенно, если вы плохо разбираетесь в Joomla и PHP.
есть еще пара более простых способов.
1) Вывести на главной странице только одну статью в которую вставить модули c материалами через {loadposition}. О том, как вставлять их, я писал в этой статье: http://wedal.ru/rasshireniya-joomla/virtuemart-internet-magazin-na-joomla-chast-18-vivod-kategoriy-virtuemart-s-izobrazeniyami-na-glavnoy-stranice-saita.html
2) Переделать используемый шаблон Joomla, добавив под основным контентом позицию для вывода модулей. В этой позиции вывести модуль со статьей.
0
вот недавно заметил что при устанвке новых расширений Joomla создаёт папки с правами от имени и группы хостера то есть я не могу ничего сделать с правами папки пока Хостер не переприсвоит эти права на моё имя и группу. Хостер объяснил мне что это таков принцип работы Joomla и что решением может быть включением для меня режима Fast CGI - и сразу предупредил что это опасно.
Если кто в теме - скажите- может можно как-то настроить Joomla чтоб она при установке создавала папки от моего имени а не от своего (или хостера) как я понял это одно и тоже. Спасибо
0
то есть происходит
- Установка модуля (причем только при 777 на директорю куда он ставится. 755 не может)
Создается папка с правами на каталог 755 и на файлы 644 НО - Владелец/Группа = 48 и 48 (то есть хостер) а не 12856 и 12856 (то есть я)
- Ничего не могу сделать пока не отпишусь хостеру и он (хоть и оперативно но всё же... понимаете) не изменит владельца и группу на меня.
0
Alex, никак. Joomla рассчитана на работу в режиме CGI. Хостер не был с вами до конца откровенен. На многих хостингах используется именно этот режим и никаких проблем не возникает. Нормально работать с Joomla без этого режима вы не сможете. Или просите хостера включить его, или меняйте хостинг.
0
Добрый. Сегодня хостер подсказал решение!
Оказывается надо просто в "настройки/сервер в часть FTP разрешить Joomla работать с файлами по FTP. Вроде как помогло. О минусах этого не пишу ибо еще не знаю. Во всяком случае сейчас модули становятся с моим UserID/GroupID.
0
А вот и первый минус( AkeebaBackup - note that due to the way backup archives have to be accessed, JoomlaPack can not make use of Joomla!'s FTP mode. То есть не получится сделать Backaup в режиме FTP( Как решение - момент работы с акибой надо отключать его (FTPmode) и потом опять включать...
2
Alex, лучше не мучайтесь. Joomla не будет правильно работать с такими настройками хостинга. Вы получите кучу проблем и потратите много времени на их решение. Или просите поддержку активировать режим CGI или меняйте хостинг.
0
При оформлении заказа почему-то выдает ошибку 404.
То есть я вношу товары в корзину, а при нажатии "оформить товар" меня выкидывает на ошибку. Может подскажете, в чем дело?
То же самое происходит при попытке скорректировать товар в корзине
0
Подскажите а как избавится совсем от мутотни и использовать Jquery, а то только из-за этого начал изучать Drupal, а не Jooml'у.
Мутул - это откат к каменному веку, почему - потому что везде используется JQuery,а Joomla решила поддерживать сирых и убогих, тогда и ей не долго среди них оказаться.
0
Извините, погорячился. Я понимая, что все стандартные модули поддерживают мутотню, и подключив jquery в шаблоне ничего не изменишь, это только лишь позволит решать свои задачи с помощь jquery, но подключать два фреймворка - это бред. И конечно глупо отказываться от джумлы из-за мутотни, но конкуренция - есть конкуренция, джумлу отодвигают на второй план в сравнении с друпалом: мутул и виртумарт. Хотя очень хочу использовать джумлу. А новичкам в мире веб все-равно, поэтому использую джумлу, а потом слезы льют, когда пробуют что-то сами писать, например разработка интерфейсов (тут Jquery просто маг) или приличный магазин делают (тут друпаловские модули лучше виртумарт, но и те не далеко ушли, но все же не такие глючные)
0
Виталий, Joomla поддерживает Mootools с самых первых версий. Наверное, именно поэтому пока мы всё еще видим этот фреймворк. Я с вами согласен. Работать с jQuery гораздо проще и удобнее. Готовых решений на jQuery много больше, как и документации по нему. Есть варианты, когда на фронтенде Mootools можно полностью отключить, заменив на jQuery. Но тут всё зависит от используемых расширений. Некоторые из них используют встроенный Mootols.
Сейчас наметилась тенденция на добавление в Joomla функции выбора JS-фреймворка. Это предложение идет в топе идей на Joomla Idea Pool. Возможно, к следующей версии разработчики воплотят ее в жизнь. Но это, опять же, не избавляет от проблем с расширениями, которые используют разные фреймворки. В общем, говорить можно много, но пока имеем то, что имеем. Думаю, все изменится к лучшему, но когда - покажет время.
0

Цитирую Wedal:

...Есть варианты, когда на фронтенде Mootools можно полностью отключить, заменив на jQuery. Но тут всё зависит от используемых расширений. Некоторые из них используют встроенный Mootols...

А можете сказать какие из встроенных модулей джумлы используют мутулс и для чего, вот я поставил новенькую версию джумлы 1.7, какие коробочные расширения и для чего используют мутулс, а я потом их вылечу, а затем каждое расширение которое буду ставить уже смогу так же подружить с JQ?
0
Кстати говоря "корень зла" очевиден, это файл behavior.php в папке libraries\joomla\html\html\, т.е. все файлы которые подключают behavior.framework, они инициирует подключение мутулс, подложить свой behavior.php не проблема.
Но все файлы где указана behavior.framework, я не беру во внимание админку, придется подружить с JQ, это значит нужно понять зачем им java фреймворк и сделать все на JQ, но блин это время, а так можно будет и собственную сборку джумлы сделать.
Но можно и не заморачиваться и тупо в шаблоне обнулить массивы скриптов так:
$document =& JFactory::getDocument();
$document->_scripts=array();
$document->_script=array();
а затем подключить ручками JQ и при устанвке модулей или компонент (или как там у джумлы называется), смотреть используют они мутулс или нет, а там предпринимать действия: лечить или покориться.
0
Виталий, для незарегистрированных пользователей на фронтенде Mootools вроде бы не используется. Для зарегистрированных - используется для правки статей в стандартном редакторе. Можете попробовать отключить Mootools и протестировать сайт.
Другое дело расширения. Например, тот же Virtuemart во всю использует встроенный Mootools.
P.S.: "тупо обнулять" массивы не стоит. Для начала стоит разобраться в том, что в них содержится. На самом деле тема отключения Mootools довольно популярна и правильной код легко можно найти в Интернете.
0

Цитирую Wedal:

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

Я тоже подчеркиваю, что нужно разобраться с каждым подключаемым модулем, а там уже принимать решение. В этом массиве содержаться большинство подключаемых разными модулями скриптов, а поэтому нужно знать по каждому модулю, какие скрипты им нужны и зачем. Причем в этом массиве содержаться скрипты добавленные через behavior.framework, а это делают в стандартной инсталляции с демо данными примерно 10 файлов, не считая админку. Кстати, в инете встречаются чистые шаблоны, которые позволяют выбрать ява-фреймворк. Вообщем меня джумла заинтересовала, а главное для меня, то что я раньше делал подобие цмс сам и уменя шаблоны были аналогичные, с той лишь разницей, что у меня это были файлы хтмл (я сторонник разделенности данный: код и разметка) и в шаблонах нет кода, кроме отображения меток блоков (модулей) наподобии или , и блоки размещения данных в шаблоне я называл блоками, а джумла модулями. Джумла и Друпал рулят =)
Wedal, спасибо за общение!
0
... шаблонах нет кода, кроме отображения меток блоков (модулей) наподобии < ? = $ left_blk ? > или < ? = $ content_blk ? > ... Расставил пробелы, а то код фильтруется =)
0
Всем привет!Раз уж тут на вопросы отвечают,то и здесь надо попробовать задать,хотя уже отчаялся.Перелопатил весь инет и ничего не нашел.Короче проблема,редактор FCK перестал дружить с флешем,но это не путь к папкам и проч.,проблема в том,что в предварительном просмотре он флеш видит и играет его,ставишь размеры,жмешь применить и из материала он исчезает...Без объяснения причин....Что делать? Альтернатив много,знаю,но пользователей в админку пускать не хочу,нужно,чтобы было через редактор.Как быть?
0
Navigator, не знаю точно насчет FCK - не пробовал, но скорее всего дело в безопасности. По умолчанию в таких редакторах включена опция вырезания вставок php, JS, Iframe и пр. Посмотрите внимательно настройки редактора. Там должна быть возможность отключить вырезание.
0
Спасибо за ответ,перелопатил настройки,не нашел,все,что там есть это смены скинов,перемены путей,подключение и применение css и проч.не относящееся к делу... Что делать? Просто никто с подобным не сталкивался,переустановил fck,пробовал новый ck,ну не вставляют флеш и все тут! Уже в порядке бреда поставил swfobject - вставляет...Редакторы не хотят,где рыть даже не представляю
0
Здравствуйте.
Подскажите по Joomla, если знаете этот момент:
после редактирования статьи из админки или через web-интерфейс срок действия статьи автоматически истекает и ее никто не видит, кроме админа.
Где это настроить/исправить? Или это из-за конкретной сборки Joomla, установленной на хостинг? Или из-за чего-то еще?
Заранее спасибо.
0
Max R, срок начала и окончания публикации указываются при редактировании статьи в настройках справа. А вот почему происходит то, что вы описали - вопрос. Так быть не должно.
0
Понятно, что не должно.
А вот как это исправить? Или отредактировать на "молекулярном" уровне - в каком модуле в каком PHP-файле это прописано?
0
Уважаемые, подскажите или ткните носом в статью, где описано как сделать вывод всех статей категорий раздела, отсортированных по дате добавления, как на wedal.ru на главной. Если выбрать шаблон блога раздела, то получается каша какая-то.
0
Reebka, для главной страницы есть специальный тип пункта меню. Что-то вроде "Материалы главной страницы". В его настройках есть все необходимые опции.
0
Создал новую тему? у меня они стоят не попорядку, хочу поставить как необходимо, нажимаю не дискету, сохраняю, нинакого толку, подскажите.
0
Когда я набираю localhost то выдает ошибку что делать? Зарание спасибо
0
Уважаемое сообщество, помогите с вопросом - в статье написано что права доступа на файлы и папки можно поменять с помощью eXtplorer. Насколько я понимаю это на "локальном сайте". Установил компонент, но права доступа почему-то изменить не получается:(( пробовал несколько разных компонентов...Подскажите, пожалуйста, как лучше поменять права доступа eXtplorer. Заранее спасибо.
0
Николай, лучше либо через Web-FTP хостинга(файловый менеджер), либо через Filezilla.
0
Доброго времени суток, надеюсь поможете выяснить некий вопрос возникший у меня совсем недавно. Я только начинаю осваивать Seo оптимизацию, и создался вопрос...В чем принципиальное отличае оптимизации Joomla сайта от самописного,возможно ли оптимизировать Joomla сайт так же хорошо как и самописный, на сколько это труднее сделать?. Спасибо заранее а то перелопатил весь яндекс но путного ничего не нашел.
0
Александр Григорьянц, в Joomla можно настроить все, что я вообще знаю о внутренней оптимизации сайта. Единственное, с чем могут быть проблемы - дубли служебных страниц страниц, вроде результатов поиска, пагинации и.т.д. Но я уже писал об этом. Не вижу отрицательного влияния этого фактора на продвижение основных страниц. Ну и при желании от них легко избавиться.
0
Здравствуйте! Подскажите, пожалуйста, почему у меня не открываются категории, когда я хочу выбрать для верхнего меню??? Спасибо.
0
переписал несколько файлов, не сервере, изменений вообще нет. чистил кэш, менял права к файлам и папкам не помогает ... спрашивал на хостинге, сказали, что в них все норм, должно обновляться, проблемы у меня
0
Yurij, это вы сейчас вообще о чем? :-)
0
о редактировании .php файлов на joomla 1.5
все хорошо, не те файлы редактировал:-)
0
Подскажите, пожалуйста, как исправить ошибку? Во вложениях изменился вид.