Новые возможности joomla 3.7. Обновление руссификации Joomla. Russian language. Меню в админке

Вышел в свет один из крупнейших релизов в ветке 3.х - джумла 3.7

Новая версия включает в себя более 700 улучшений, однако при всём этом нет необходимости мигрировать, обновление как и раньше происходит простым нажатием кнопки. Одним из наибольших разочарований является очередной перенос интеграции нового роутера на следующую версию. Несмотря, что в бета-версиях данный функционал присутствовал, многие отметили его явную сыроватость. Поэтому в лучшем случае долгожданный router мы увидим в Joomla 3.8-3.9, а полностью доработанный так и уже в новой ветке Joomla 4.

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

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

Исправленные уязвимости в джумле 3.7

Отметим, что новая версия исправляет целый список уязвимостей безопасности: все они носят низкий приоритет и не обладают особой угрозой для взлома, поэтому были включены в релиз функциональности. Итак, Joomla 3.7 исправляет следующий ряд дыр:

  • CVE-2017-7983 - Раскрытие информации - уязвимы версии от 1.5.0 до 3.6.5 - при отсылке писем используя API JMail в заголовках присутствовала версия PHPMailer
  • CVE-2017-7984 - XSS (межсайтовый скриптинг) - уязвимы версии от 3.2.0 до 3.6.5 - плохая фильтрация в компоненте "Менеджер шаблонов" приводила к XSS
  • CVE-2017-7985 - XSS (межсайтовый скриптинг) - потенциально небезопасны версии от 1.5.0 до 3.6.5 - неадекватная фильтрация мультибайтовых символов давала возможность атаки в различных компонентах
  • CVE-2017-7986 - XSS (межсайтовый скриптинг) - подвержены версии 1.5.0-3.6.5 - слабая фильтрация специфичных HTML атрибутов позволяла воспользоваться дырой в различных компонентах
  • CVE-2017-7987 - XSS (межсайтовый скриптинг) - затронуты Joomla 3.2.0-3.6.5 - виновато экранирование имени папок и файлов в менеджере шаблонов
  • CVE-2017-7988 - ACL Violations (нарушение контроля доступа) - дырявы джумлы от 1.6.0 до 3.6.5 - плохая фильтрация контента форм позволяла переписать автора в материалах
  • CVE-2017-7989 - ACL Violations (нарушение контроля доступа) - дали сбой версии с 3.2.0 по 3.6.5 - некорректная проверка mime типов допускала загрузку swf файлов непривилегированными пользователями даже если она запрещена
  • CVE-2017-8057 - Information Disclosure (раскрытие информации) - уязвимы версии Joomla 3.4.0-3.6.5 - некоторые файлы раскрывали пути при разрешенной генерации ошибок

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

Перейдём теперь к функциональности и попробуем охватить полный список изменений Joomla 3.7

Что нового в Joomla 3.7

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

Custom Fields в джумле

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

На любой вкус и цвет доступно 15 различных типов полей. Полный список доступных кастомных полей в Joomla 3.7

  • Текст
  • Поле календаря
  • Чекбокс
  • Поле цвета
  • Визуальный редактор
  • SQL поле
  • Список
  • Список изображений
  • Кнопка радио
  • Медиаполе
  • Область текста
  • Поле для ссылок
  • Поле пользователя
  • Поле группы пользователей
  • Числовое поле

Как видим список открывает горизонт на новые модификации контента. Более подробно изучать документацию кастомных полей можно по ссылке https://docs.joomla.org/J3.x:Adding_custom_fields

Мультиязычные сайты с помощью Joomla

Создавать сайты на разных языках теперь стало удобнее и проще! Мультиязычный ассоциативный компонент позволяет переводить материалы на одной странице с удобным интерфейсом. Разработчики сторонних расширений могут взять этот вариант на заметку. Кроме этого язык создаётся автоматически при установке одноимённого языкового пакета, необходимо будет только опубликовать его. И последнее, добавлена иконка с языком для редактирования перевода, что упрощает жизнь контент-менеджеров. Насколько это пригодится, оценим в будущем.

Удобная рабочая область

Для создания коротких ссылок для статей без посторонних категорий в урл приходилось прибегать к помощи пунктов меню. И вечно надо было добавить сначала статью, а потом пойти в менеджер меню и привязать пункт меню к материалу. Согласитесь, при многократном повторении это напрягает. Теперь материал можно создать прямо в пункте меню, а при необходимости отредактировать его во всплывающем окне. Joomla 3.7 действительно сделала работу интуитивно понятнее. Аналогично можно создать и привязать категорию материалов, контакт либо новостную ленту. Мелочи юзабилити, но думаю эти очевидные правки стоило внедрить уже давно.

Больше пользовательского опыта в джумле 3.7

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

  • Отображение глобальных настроек, нет необходимости перепроверять какие умолчания стоят на сайте
  • Более современный и плоский дизайн бэкэнд шаблона - тут многие поспорят, выглядит и вправду немного непривычно
  • Обновлённый выбор даты и времени: теперь на разных языках
  • Одиночная авторизация на сайт и в админку, не надо теперь вводить логин и пароль по отдельности для фронтэнда и бэкэнда

Резюмируя, удобство использования стало на порядок выше

Менеджер меню админки джумла

Теперь можно создавать, редактировать и менять расположение пунктов меню админки на своё усмотрение. Можно настраивать права доступа к просмотру определённым группам пользователям, согласитесь удобно самому настроить и контролировать посторонних юзеров. Для ленивых никто не отменял варианты по умолчанию: можно использовать готовые пресеты настроек.

Внимание! С этой версии шаблон hathor считается устаревшим и несовместимым.

Гибкая настройка визуального редактора TinyMCE

Разработчики Joomla выделили некоторые изменения функциональности под разными заголовками, но большинство как и этот привносят более удобную работу в админке и гибкость настройки под себя. В редакторе появились новые кнопки: можно добавлять контакты, новостные ленты и ссылки меню. Кастомизировать панель можно простым перетаскиванием пунктов (drag and drop) и необязательно для каждого пользователя иметь одинаковые настройки: можно сконфигурировать индивидуально под определенную группу пользователей свой вариант.

Простое управление расширениями

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

На этом список основных изменений можно закончить. Исходя из того, что обновление затрагивает большое количество файлов, будьте аккуратны с обновлением сайтов на рабочих проектах, лучше стоит поэксперементировать сначала на резервной копии. С другой стороны, если новый функционал не является необходимой частью для работы вашего сайта, то можно потерпеть и подождать следующих более проверенных версий типо 3.7.1 или 3.7.2

Моя первая попытка обновить сайт до Joomla 3.7, привела к ошибке PLG_QUICKICON_PHPVERSIONCHECK. Почему это получилось и как без ошибок обновиться до Joomla 3.7 в этой статье.

Напомню. Вы увидите сообщение о необходимости обновления системы, если у вас включен плагин «Панель иконок - Уведомление о новых версиях Joomla!», ID=437.

Об ошибке PLG_QUICKICON_PHPVERSIONCHECK

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

С другой стороны, не всё понятно. У меня на сервере стоит PHP 5.4.26. До обновления это версия PHP «всех» устраивала, а для Joomla 3.7, получается, нужна более новая версия PHP?

Чтобы понять проблему, идем на страницу «Технические требования для установки Joomla» (https://downloads.joomla.org/ru/technical-requirements-ru ).

Данная страница обновлена 20 марта 2017. Информация на странице не поменялась, для работы Joomla, в том числе Joomla 3.7, требуется минимальная версия PHP 5.3, и рекомендованы PHP 5.6 или PHP 7.

По всей видимости, причина ошибки PLG_QUICKICON_PHPVERSIONCHECK в недостаточной версии PHP. Остается поменять версию PHP 5.4.26. на сервере и после восстановления сайта из резервной копии, обновиться заново.

Обновление по FTP

Для эксперимента, обновлюсь без смены версии PHP по FTP. Для этого:

  • Скачиваю тут (https://downloads.joomla.org/ru/cms/joomla3/3-7-0 ) файл Joomla! 3.7.0 Upgrade Package (.zip);
  • Распаковываю скачанный архив;
  • Проверяю права CHMOD для файла configuration.php системы, они должны быть, как минимум, 644;
  • Закачиваю архив обновления поверх старого, по FTP в режиме «Заменить более новым».
  • Смотрю результат, как и ожидалось, обновление не удалось.

Выводы

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

Автоматическое обновление Joomla

  • Очистите кэш сайта;
  • Сделайте резервную копию сайта;
  • Если используете не проверенные расширения малоизвестных авторов, отключите их на вкладке Расширения>>>Управление;
  • Перейдите на вкладку обновления (Компоненты>>>Обновление Joomla!);
  • Обновите систему в режиме автоматического обновления с записью «Напрямую»;
  • Удачное обновление система проинформирует зеленой полосой;

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

Еще одна ошибка

После обновления выскочила "традиционная ошибка" : Fatal error: Call to a member function getTag() on a non-object in /libraries/cms/application/site.php on line 456 . Выражается эта ошибка белым экраном после написания новой статьи или редактиовании старой. Появляется не везде, исправляется так.

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

Не долго думая, решил поэкспериментировать с одним из сайтов, который содержал небольшой каталог продукции с ценами. Цены были указаны непосредственно в теле статьи. Выглядело это примерно так:

Главное неудобство в том, что если захочется поменять оформление блока с ценой, нужно будет редактировать все страницы каталога. Если товаров немного, это еще можно вытерпеть, но если их сотни и тысячи, то это будет тихий кошмар! Именно поэтому я обрадовался новой возможности и решил вывести цену на продукт в отдельное поле.

Делается это следующим образом, вот пошаговая инструкция.

1. Создаем группу полей

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

Идем в менеджер материалов и в правой колонке выбираем пункт Field Group . В ней пока пусто, но есть кнопка "Создать", при помощи которой мы создаем группу. По сути, нужно ввести только ее имя, никакие другие настройки менять нет необходимости. Пусть эта группа будет называться "Цены".

2. Создаем поля в группе

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

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

3. Открываем статью для редактирования

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

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

Чтобы выделить информацию из пользовательского поля, нам нужно задать CSS-свойства для классов .field-label и .field-value . Для этого идем в "Расширения" - "Менеджер шаблонов", находим в списке наш шаблон и кликаем по ссылке в ПРАВОЙ колонке. Открывается редактор файлов шаблона. Нам нужно найти основной CSS-файл. В случае шаблона Protostar (а также других шаблонов, созданных на его основе) этот файл расположен по адресу CSS\template.css

В код справа нужно добавить строки, описывающие стиль элементов, например, эти:

Field-value {font-size: 1.5em; color: #D13D0F;}
.field-label {font-size: 1.5em; color: #000;}

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

Таким образом мы убили одним выстрелом двух зайцев - реализовали единообразное оформление блока с ценами на всем сайте, а также обеспецили себе удобство при добавлении новых товаров в каталог.

Достоинства и недостатки пользовательских полей

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

Недостаток пока обнаружился один - невозможно делать подписи после поля. Например, строку "от 3 000 000 рублей" нельзя разбить на строковую и числовую компоненту, чтобы потом фильтровать товары по цене как по числу, а не как по строке. Можно, конечно указывать цену в виде целого числа, но выглядеть такая надпись будет слишком уж по-машинному - Цена, руб: 3000000 . Хочется надеяться, что когда-нибудь появится возможность форматировть представление полей по своему усмотрению.

Online service by OceanTheme are is a platform where people can unite with each other with mutual interest to purchase premium templates and extensions Joomla! at a bargain price. The target audience of the service are individuals and small and medium businesses, professional web developers to create online stores, community sites or people wishing to have your blog. In our great collection of premium solutions everyone will find what he needs.

Our resource acts as an organizer pooling, specifies the number of people that you want to buy templates and extensions, the cost of goods, as well as the amount and access to these materials. Our website has a lot of opportunities for easy searching of templates and extensions. Intuitive navigation, tagging system, sorting by the filter and the tool "add to bookmarks" will allow you to find the right material you want incredibly fast. In addition You will always find the latest information, so as to update the collection every day.

Access to the entire database of materials is provided for the duration of the club specified in the subscription purse. Subscribers receive unrestricted access to all available archives, news and updates, as well as technical support throughout the subscription period.

All the products you can find on this site are 100% GPL-compatible, which means you can change them as you want and install on unlimited number of sites.

Thanks to our collection you will save a lot of time and money, as the templates and extensions easy to use, easy to install and configure, multi-functional and diverse. That will allow you to create a website of any complexity and orientation, without learning advanced web development technologies.

Main features of our website

A rich set of functions, working out of the box:

Use all opportunities of our resource to get ready-made professional solution for rapid implementation of your business projects or creative ideas.

Use the search tools

Use advanced search and filtering, and easy navigation for quickly finding the desired web solutions in design, functionality and other criteria.

To favorite materials were always at hand, use the unique function "Add to favorites", and they are available in a separate section for the whole year.

Logged into our site, you will be able to leave comments and to participate in promotions, as well as use of a free subscription with permium access.

Join our club membership

Club subscription gives you full access to our entire catalogue of original material. And includes premium templates and extensions for several years.

Download appropriate to your Joomla templates and extensions, both free and subscription for the club without any limits and ogoranicheny speed.

If you liked any material on the site, you can leave your voice, as well as share it with friends via social networks.

Вышла новая версия Joomla. Текущая версия Joomla! 3.7.0. После , потребовалось обновить и файл русской локализации Joomla. Про то, как понять, что вышла новая версия пакета с переводом Joomla на русский язык и про то, как установить пакет с обновлениями перевода Joomla на русский язык, будет показано ниже. До того, как устанавливать какие-либо обновления, рекомендуется создать резервную копию сайта. Но кто её делает? =)

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

Тут ты и воспользоваться кнопкой «Обновить сейчас », но не всегда доходят руки. Поэтому есть ещё одно место на главной странице админки Joomla, где тоже есть маячок о необходимости обновить расширения. Это левое меню раздел «ОБСЛУЖИВАНИЕ », где тоже чётко указывается «». Это сообщение является ссылкой (как и кнопка «Обновить сейчас » на картинке выше) для начала установки обновлений:

В общем, рано или поздно становится на столько любопытно, что же там такое требует обновления, что перейдя по ссылке можно увидеть, что . Для того, чтобы его установить требуется пометить его в чекбоксе, а после этого нажать на кнопку «Обновить », расположенную в верхнем ряду кнопок управления «Менеджера расширений » раздела «Обновления »:

После нажатия заветной кнопки «Обновить » начнётся процесс обновления выбранного пакета. И после того, как он успешно установится, перезаписав старый пакет , то есть изменения необратимы , Joomla выдаст весёлое сообщение «»:

Как показывает практика, перевод никогда не бывает полным. Но, по крайней мере, основные записи и сообщения на страницах сайта будут на русском языке. А это всегда полезно, так как не отпугнёт пользователей, увидевших надписи на экзотическом (английском) языке непонятными латинскими буквами. =)

Проблемы