Многие начинающие web-мастера и владельцы сайтов сделанных на Joomla очень часто встают перед проблемой, когда на сайте нужно изменить какой-то текст, но совершенно нет понимания, как это сделать. В этой статье я постараюсь подробно рассказать о том, где и в каком виде хранятся все тексты сайта, а также как их искать, добавлять, изменять и удалять.
Содержание
Тема управления любым текстовым содержимым Joomla достаточно простая, но вызывает массу вопросов у начинающих. Для начала давайте разберемся где же вообще хранятся тексты на сайте под управлением Joomlа.
Где хранятся тексты в Joomla?
Есть всего два места, в которых могут храниться тексты на Joomla-сайте:
- языковые файлы
- база данных
Почему устроено именно так? Все дело в том, что всё текстовое содержимое сайта можно разделить на две категории:
- Тексты, создаваемые пользователями. Сюда входит любая информация, которую вы добавили на сайт через админку, либо фронтенд. К этой категории относятся все статьи, названия категорий, модулей, всё, что вы добавили сами и сохранили.
- Тексты созданные разработчиками. К этой категории относятся все тексты, которые не подразумевают изменение пользователем или администратором. К этой категории относятся все настройки Joomla и расширений, а также какие-то неизменные постоянные (вроде текста «Добавить в корзину» на кнопке интернет-магазина).
Примечание: есть и третья категория – тексты, вставленные плохими разработчиками прямо в код расширения. Такое до сих пор встречается. Данную категорию не рассматриваем, поскольку таких расширений нужно избегать в принципе.
Если вы хотите найти какой-то текст, то первое, что требуется, это понять к какой их двух категорий он относится. Как это сделать? Очень просто! Ответьте на вопрос: «Кем создан данный текст?», имея два варианта ответов:
- Пользователями или администратором.
- Разработчиками Joomla/расширения Joomla.
В первом случае у нас будет первая категория текстов, а во втором – вторая. В зависимости от категории будет изменяться подход к управлению текстом.
Как найти, добавить, изменить, удалить текст, созданный пользователями или администратором в Joomla
Начнем с первой категории текстов. Если текст создан пользователями или администратором, то отредактировать его можно через административную панель в том разделе, где его создали. К примеру, текст статьи можно отредактировать в настройках этой статьи, текст категории – в настройках категории, текст пункта меню – в настройках соответствующего пункта меню. Чтобы быстро находить такие тексты нужно хорошо ориентироваться в структуре Joomla. Универсального способа, который укажет вам прямо на страницу редактирования, нет. Текст в заголовках страниц «Title» также относится к этой категории.
Для добавления, изменения, удаления текстов данной категории достаточно сохранить изменения после редактирования путем нажатия соответствующей кнопки. Ничего сложного.
Как найти, добавить, изменить, удалить текст, созданный разработчиками Joomla/расширения Joomla
Может показаться, что этой категорией текстов управлять гораздо сложнее, чем первой, но на самом деле это не так. Здесь все гораздо проще.
Данная категория текстов хранится в так называемых языковых файлах Joomla. В версии Joomla 1.5 и более ранних эти тексты редактировались только в соответствующих языковых файлах. Т.е. нужно было открыть файл по FTP, найти текст и внести в него исправления. При этом требовалось знать в, каком из файлов искать. Их довольно много.
В последних версиях Joomla(2.5, 3.х) разработчики встроили функцию «Переопределение констант». Она очень полезна и удобна.
Для того чтобы найти, добавить, изменить или удалить текст языковой константы, к коим относятся все тексты данной категории, действуем по следующему алгоритму:
-
Переходим в «Расширения» –> «Менеджер языков» –> «Переопределение констант».
-
Создаем новую константу путем нажатия соответствующей кнопки:
-
Видим следующую форму:
-
В этой форме выбираем способ, которым ищем языковую константу: по ее названию («Константа») или по тексту, который в ней содержится («Значение»).
-
Вводим текст/константу и жмем «Найти».
-
Ниже появляется список всех констант, содержащих заданный текст. Выбираем из них ту, которую хотим исправить и кликаем по ней. Поля слева автоматически заполняются.
-
В поле «Текст» вы можете изменить или удалить значение текущей языковой константы.
-
После того, как значение константы исправлено, жмем кнопку «Сохранить».
Вот и все, текст исправлен. Прошу заметить, в языковом файле текст остался прежним. Было создано переопределение. Если вы удалите его из списка, то вернется изначальный текст.
Второе дополнение – в поле «Текст», как собственно и в языковых файлах, допустимо использование HTML тегов, а также языковой переменной «%s»(для тех, кто в курсе).
Думаю, вы согласитесь, что в Joomla управление текстами одно из самых простых среди всех CMS. Конечно, проще было бы исправлять тексты прямо на сайте, но это возможно далеко не во всех случаях.
Если даже после прочтения статьи вы не смогли найти на сайте какой-то текст, пишите в комментариях. Постараюсь помочь.
база данных? или директория какая?
language/overrides/ru-RU.override.ini
и в БД, в таблице overrider.
Ну и вообще, даже если тексты добавляются в шаблон, они должны содержаться в языковых файлах, но никак не в его коде.
меню->главное меню-> главную страницу.
справа есть пункт - привязка модулей к данному пункту меню. позаглядывайте в каждый модуль и найдете.
"Уважаемые пользователи!
Мы приносим свои извинения, но доступ к запрашиваемому ресурсу ограничен.
Возможные причины ограничения доступа:
Доступ ограничен по решению суда или по иным основаниям, установленным законодательством Российской Федерации.
Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в Единый Реестр доменных имен, указателей страниц сайтов сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено.
Проверить наличие сетевого адреса в Едином реестре можно в разделе «Просмотр реестра» на сайте eais.rkn.gov.ru.
Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в Реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространяемую с нарушением исключительных прав.
Проверить наличие сетевого адреса в Реестре можно в разделе «Просмотр реестра» на сайте nap.rkn.gov.ru/reestr.
Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в Реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие призывы к массовым беспорядкам, осуществлению экстремистской деятельности, участию в массовых (публичных) мероприятиях, проводимых с нарушением установленного порядка.
Проверить наличие сетевого адреса в Реестре можно в разделе «Просмотр реестра» на сайте 398-fz.rkn.gov.ru."
По тегам найти его не получается, на работоспособность он никак не влияет, может дадите какие рекомендации какего удалить
Но вот в моем случае не работает. Хочу на этом шаблоне http://prasowanie-wawa.com/ поменять английские название About Me, I'em Here, Recent Work, Make Kontakt меню (хотя на самом деле это не меню, а встроенная часть шаблона), но уже и в коде искал и так как Вы советуете - не работает. Подскажите где найти этот текст!?
Помог phpMyAdmin, там нашел через поиск и там же поменял текст.
На шаблоне "Protostar" текст отображается.
Помогите пожалуйста.
С уважением, Олег.
и вставить перед ней:
Помогите пожалуйста.
Заранее благодарен Василий.
"Design by JVG Powered by Warp Theme Framework". В файлах его нет. По моему текст в модуле footer, как его удалить, или изменить? Искал в константах и в таблицах базы, не могу найти.
и в админке далеко не все разделы сайта, к тому же даже некоторые текущие не редактируются.То есть меняю текст,сохраняю,а на сайте он не изменяется.Почему так?
Ошибка
установка блокировки прервана с ошибкой: Пользователь, пытающийся установить блокировку, не тот, который уже установил её ранее.
У вас нет прав на доступ к данной странице по прямой ссылке (#33).
что сделать?
Чтобы снять блокировку, найдите статью, категорию, модуль, пункт меню (в зависимости от того, что пытаетесь разблокировать) в соответствующем списке статей, категорий, модулей, пунктов меню. Вы увидите рядом с заданным пунктом замочек. Кликните по нему и блокировка будет снята.
Другой способ снять блокировки: перейдите в Система -> Снять блокировки и снимите их там.
Все перерыл. Подскажите как его от туда удалит.
1) Делаете дамп базы данных (экспорт в файл через PhpMyAdmin), открываете дамп через Notepad++, ищите в нем "From". Если текст не найден, значит он в файлах, а не в базе данных.
2) Если в п.1 текст не найден, ищите его через Total Commander поиском по файлам: http://wedal.ru/uroki-joomla/joomla-faq.html
Компания по продвижению сайта вписали текст но я его не могу изменить так как не могу найти его месторасположение. Везде искал и в админка и через корневую папку но не смог найти
А если скопировать текст со страницы и вставить его куда-то в текстовый документ, то названия этих нехороших сайтов отображаются между названием страницы и текстом, а на сайте не видно. И в джумле и на хостинге в файлах все перерыл и не могу найти. Поможете...А?...
что я делаю не так?
1. Экспорт дамп базы данных
2. Разархивируем архив zip
3. Открываем файл через Notepad++
4. Находим текст (в моём случае Англ.)>>> меняем текст на русский>>>сохраняем>>>архивируем .sql.zip
Вопрос: Какие шаги замены в базе данных необходимо, чтобы произвести импорт архива? В некоторых статьях простой заменой (импорт)? В других удаление таблиц базы кроме самой базы. Как это детально сделать?
Но вот к сожалению, почему то в моем случае данный способ не находит текст, который мне нужно перевести на русский.
Суть в том, что у меня установлен компонент widgetkit и видимо где то в нем, хотя я уже и не знаю, "сидят" значения дат на английском.
Я пробовал искать по слову через total commander на локальном компьютере, мне выдало кучу файлов содержащих название дат, но изменения в них не дали результата, поэтому даже не знаю, что и думать. Пробовал найти константу через firebug, но не нашел ее в коде страницы.
Наглядно пример моей проблемы можно посмотреть на сайте (это ни в коем случае не реклама, да и рекламировать там нечего, так как сайт просто создан для настройки различных функций Joomla) если у вас будет желание, гляньте, пожалуйста, якабан (точка) рф (проблема в основном новостном модуле, справа от картинки расположен текст новости и в уголку дата ее публикации, вот именно эту дату и не могу найти, чтобы перевести).
Буду благодарен если откликнитесь, спасибо.
Пыталась поменять значение JLIB_HTML_START с "В начало" на "
Вашу задачу можно решить так:
1) Точно определить условие, по которому будет выбираться начало вывода текста (тег или заданное количество символов или что-то еще).
2) Создать альтернативный макет для модуля или страницы, через который(-ую) вы выводите текст на главной и внести в нем обработку выводимой переменной с текстом согласно условию из п.1.
В зависимости от условия и макета код будет отличаться, а потому я не могу написать его вам.
Создал категорию и создал в ней материал.
На странице этой рубрики сначала выводится всё содержание главной страницы, а потом анонс материала, который в ней.
На странице этого материала - сначала выводится вся главная страница, а потом - этот самый материал.
Почему выводится главная и как её убрать?
На сайте есть ещё две рубрики (в них всё нормально). Сравнивал их с вновь созданной и не нашел никаких различий :(
Задавать опции сортировки нужно там, где вы хотите переместить статью наверх. Это может быть блог категории (пункт меню) или, например, модуль.