Авторизация

 

Как добавить свой CSS-класс в редактор TinyMCE

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

 

Начиная с Joomla версии 2.5 эта популярная CMS использует поддержку технологии "Lightbox", и теперь для получения этого эффекта не нужно устанавливать сторонние расширения, все уже реализовано в самом движке Joomla, достаточно только в редакторе TinyMCE (нужно использовать расширенный режим редактора) при редактировании изображения прописать необходимый класс.

Если на сайте, сделанном на Joomla 1.5.... во всех разделах, где есть постраничное разбиение материалов, появляется надпись:

 

JPAGE_CURRENT_OF_TOTAL


Это значит, что вы недавно обновили версию движка Joomla, но не обновили языковые файлы.





Исправить данный баг можно двумя способами:

 

1. Скачать и установить через инсталлер Joomla обновленные языковые файлы с joomlaportal.ru

 

или

 

2. Чтобы не искать файлы локализации можно сделать следующее, в директории сайта /language/ru-RU/ открыть текстовым редактором файл ru-RU.ini и дописать в его конец следующую строку:

JPAGE_CURRENT_OF_TOTAL=Страница %s из %s.

 

Обновить кеш после исправления.

И все.

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




Для того, чтобы администратору не нужно было создавать множество почтовых ящиков, на которые только придут подтверждения о регистрации и чтобы проще было управлять этими пользователями. Вот поэтому и возник вопрос: "Как отменить проверку уникальности e-mail при регистрации на сайте, сделанном на Jommla?"

 

Законным путем - никак, только вмешательством в код CMS.

1. Откройте в редакторе файл libraries/joomla/database/table/user.php и закомментируйте последние 3 строки из приведенного ниже блока.

 

(Внимание! По умолчанию код проверки e-mail на уникальность расположен на 182-193 строках для Joomla 1.5)

 

// check for existing email
$query = 'SELECT id'
. ' FROM #__users '
. ' WHERE email = '. $this->_db->Quote($this->email)
. ' AND id != '. (int) $this->id
;
$this->_db->setQuery( $query );
$xid = intval( $this->_db->loadResult() );
/* if ($xid && $xid != intval( $this->id )) { Отключили проверку e-mail на уникальность
$this->setError( JText::_( 'WARNREG_EMAIL_INUSE' ) );
return false;
} Отключили проверку e-mail на уникальность */




 

2. Можно также запретить восстановление пароля, а то ваш почтовый ящик будет завален "левыми" запросами.

/* if ((trim($this->email) == "") || ! JMailHelper::isEmailAddress($this->email) ) {
$this->setError( JText::_( 'WARNREG_MAIL' ) );
return false;
} */

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

 

Существует множество модулей для вывода произвольного кода (HTML, PHP, JS и др.) практически в любом месте на сайте, сделанном с помощью CMS Joomla. Так как эта задача довольно часто встает перед начинающими web-мастерами, попробуем собрать в этой статье коллекцию этих модулей.




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

 

1. Custom HTML Advanced

Простое добавление любого пользовательского HTML-кода внутри модуля в выбранной позиции (left, right, user1,... и др.) на сайтах, сделанных с помощью Joomla. По сравнению со стандартным модулем для вставки кода (mod_custom) модуль Custom HTML Advanced имеет следующие характеристики:

  • Нет фильтрации (даже для тегов скриптов);
  • Обойти настройки "Position Chrome" (метод подгрузки нескольких расположений модуля) для удаления нежелательного обтекания HTML-кода вокруг модуля (В оригинале это звучит так "Override module position chrome to remove unwanted wrapping HTML code around the module." - спасибо Ксении);
  • Добавление пользовательского CSS в заголовок страниц, на которых модуль будет использоваться.



Модуль Custom HTML Advanced может быть особенно полезен для:

  • Вставки рекламного кода (например, AdSense или Adbrite);
  • Размещения пользовательских Java-скриптов в web-страницу.

sourcererИногда бывает необходимо отобразить HTLM-код (или PHP-код или java-скрипт) в статье на сайте. Обычно текстовый редактор нещадно обрезает все теги и скрипты, и создателю статьи приходится делать скриншот кода и вставлять его как картинку. С одной стороны это просто и надежно - вставить легко и код не может повредиться, пока жива сама картинка.




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

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

 

Пример использования:

<meta name="robots" content="index, follow" />
<meta name="keywords" content="nonumber, peter van westen, joomla, extensions, plugins, components, modules, add, menu, adminbar, docker, advanced, module, manager, articles, anywhere, better, preview, cache, cleaner, cdn, content, templater, customenu, db, replacer, modalizer, modules, anywhere, rereplacer, slider, snippets, sourcerer, tabber, timed, styles, what, nothing" />
<meta name="title" content="Sourcerer - place any code in Joomla!" />
<meta name="author" content="Peter van Westen" />
<meta name="description" content=" Sourcerer enables you to place PHP and any kind of HTML style code (including CSS and JavaScript) right into your content! Not only in your articles, but also in sections, categories, modules," />
<title>Sourcerer - place any code in Joomla! | NoNumber! | Joomla! Extensions Directory</title>
<link rel="stylesheet" href="http://cdn.nonumber.nl/plugins/system/tooltips/css/style.css" type="text/css" />

Как убрать meta name="generator" content="Joomla! 1.5 - Open Source Content Management"

Если посмотреть исходный код страницы, можно найти строку в метаполях:

Joomla! 1.5 - Open Source Content Management" />




Конечно же разработчики Joomla! хотят обозначить используемую систему управления контентом и эта строка вроде бы безобидно висит в коде и никаму не мешает. Но тут есть небольшой минус- злоумышленнику даётся возможность узнать, на какой CMS построен сайт. А некоторые просто не хотят иметь на сайте лишний код, так же как и указывать на определённую CMS, особенно бесплатную, ведь у многих предвзятое отношение к слову "бесплатно" (в одной из следующих статей я попробую это опровергнуть и доказать очевидность преимущества бесплатной CMS над платными). Как же удалить этот метатег GENERATOR ?

Итак, приступим:

  • В директории /libraries/joomla/document/html/renderer/ находим файл head.php
  • В нём находим строку (строка 83):
  • Удаляем эту строку полностью и сохраняемся
  • Обновляем страницу сайта (если включено кеширование сайта- очищаем кеш в админ-панеле) и проверяем.
Яндекс.Метрика