Strict Standards: Assigning the return value of new by reference is deprecated in /home/maleon/efft.ru/docs/joom/includes/joomla.php on line 842

Warning: Cannot modify header information - headers already sent by (output started at /home/maleon/efft.ru/docs/joom/includes/joomla.php:842) in /home/maleon/efft.ru/docs/joom/includes/joomla.php on line 710

Warning: Cannot modify header information - headers already sent by (output started at /home/maleon/efft.ru/docs/joom/includes/joomla.php:842) in /home/maleon/efft.ru/docs/joom/index2.php on line 122

Warning: Cannot modify header information - headers already sent by (output started at /home/maleon/efft.ru/docs/joom/includes/joomla.php:842) in /home/maleon/efft.ru/docs/joom/index2.php on line 123

Warning: Cannot modify header information - headers already sent by (output started at /home/maleon/efft.ru/docs/joom/includes/joomla.php:842) in /home/maleon/efft.ru/docs/joom/index2.php on line 124

Warning: Cannot modify header information - headers already sent by (output started at /home/maleon/efft.ru/docs/joom/includes/joomla.php:842) in /home/maleon/efft.ru/docs/joom/index2.php on line 125

Warning: Cannot modify header information - headers already sent by (output started at /home/maleon/efft.ru/docs/joom/includes/joomla.php:842) in /home/maleon/efft.ru/docs/joom/index2.php on line 126
№15. Joomla-сайтострой 2008. Часть 2 - CMS Joomla! для начинающих
№15. Joomla-сайтострой 2008. Часть 2
Автор Леонид Мальков   
23.12.2007 г.

Joomla-сайтострой 2008. Часть 2.
(Активное содержимое сайта (ява-скрипт) + визуальный html-редактор TinyMCE)

 Уровень: Новичок - Пользователь - Веб-мастер

 Мысли ведущего рассылки.

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

Ява-скрипт обычно используются в таких элементах сайта, как счетчики посещений и разнообразные информеры, и еще в различных полезных функциях, например, реализация функции "Добавить в избранное". Как Вы понимаете, все дополнительные визуальные элементы на Джумла-сайт добавляются в виде модулей. То есть, если Вы хотите установить на сайт счетчик посещений или информер, то для этого надо создать новый модуль и код информера (счетчика) поместить туда. Вот здесь-то и возникает небольшая загвоздка. В Джумле для добавления содержимого сайта, будь это модули или контент, по умолчанию используется визуальный редактор TinyMCE, который настроен так, что не дает добавить ява-скрипт. Хотим заметить, что никто не запрещает Вам добавлять код информера (счетчика) прямо в шаблон, если Вы понимаете как это сделать :) Еще недостаток такого способа заключается в трудоемкости изменения положения информера на странице, если это понадобится. А когда информер в модуле, его положение меняется нажатием пары кнопок!

 Добавление ява-скриптов в редакторе TinyMCE

Как заставить этот редактор сохранять ява-скрипт? Есть два варианта.

Вариант 1. Вообще его отключить и не использовать. С чего вдруг? А в пользу этого есть причина и, причем, не одна! Но пока только о технической стороне... Каким редактором пользоваться, задается в настройках каждого зарегистрированного пользователя на Вашем сайте. Открываем админку сайта и ищем! В главном меню выбираем Главная, на открывшейся странице выбираем пункт Пользователи, далее выбираем пользователя, потом в параметрах выбираем редактор пользователя. Обратите внимание, если поле Редактор пользователя имеет значение "- Выберите редактор -", то в этом случае будет использоваться редактор TinyMCE. Для изменения необходимо выбрать значение "Простой редактор HTML".

Вариант 2. Менее кардинальный - отключить в редакторе функцию, мешающую сохранять нам ява-скрипт. Прежде чем сказать, как это делается, хотелось бы разъяснить интересный момент: TinyMCE - это МАМБОТ в составе Джумлы и работает по таким же принципам, что остальные мамботы! Что из этого следует?.. (а) для Джумлы существуют и другие визуальные редакторы, Вы можете использовать любой, какой Вам нравится и (б) параметры настроек TinyMCE можно изменять в админке! Открываем пункт меню Мамботы > Мамботы сайта, выбираем "WYSIWYG-редактор TinyMCE" и в его параметрах поле Очистка кода устанавливаем в состояние "Выкл." Сохраняемся :)... и TinyMCE нам больше не мешает... а так ли это на самом деле, мы собираемся рассказать в следующем - НОВОГОДНЕМ выпуске нашей рассылки!

Новостные информеры Яндекса

Новости на Вашем сайте появляются сами собой без малейшего Вашего участия! И, заметим, что это подборка состоит из ВСЕХ значимых новостей В ИНТЕРНЕТЕ, потому что собирает их Яндекс. Открываем страницу экспорта новостей: http://news.yandex.ru/export.html. Можно выбирать: или RSS-лента или информер. Как установить RSS-ленту на сайт, мы рассказывали в предыдущем выпуске рассылки. Обращаем Ваше внимание, что описанный там пример тонкой настройки отображения модулей со ссылкой на restnonstop.ru сейчас на этом сайте может выглядеть по другому. Потому что все описываемые нами примеры на реальных сайтах действительны в течении недели после выхода выпуска.

Сейчас же мы хотим рассказать, в чем же разница между представлением новостей в виде RSS-ленты и информера на Яндексе. Информер имеет настройки, которые можно изменить по Вашему желанию, а RSS-лента - нет! Самое неудобное в ленте, лично по моему мнению, то, что в ней не указывается дата(время) новостей. Кстати, в xml-файле эти параметры есть, но Джумла их, похоже, не разбирает :(

Второй момент, на который следует обратить внимание: в ленте сортировка новостей идет по важности, которая определяется количеством источников, освещающих эту новость (когда Вы переходите по ссылке на ленте или на информере, то попадаете на страницу, где показаны все источники с данной новостью). Поэтому в RSS-ленте новость может продержаться сутки на первом месте, если источников ее много. Отсюда второй недостаток, RSS-лента не сортирует вывод новостей по времени. Если посмотреть xml-файл самостоятельно, то видно, что новости следуют не в хронологическом порядке!

И последний момент. RSS-ленты в Джумле выводятся стилями, как обычное содержимое. А в новостном информере прописаны стили явно. Их Вы можете быстро подредактировать и сделать эту информацию более выразительной на Вашем сайте!

 Погодные информеры

Они могут быть реализованы в виде изображений, флеш-роликов и даже в текстовом виде. И во всех вариантах могут выглядеть вполне прилично. Даем краткий обзор информеров, предлагаемых наиболее популярными погодными сервисами. Заметим, что в некоторых ява-скрипт вообще не используется... но манипуляции с ними от этого не меняются, когда TinyMCE не мешает :)

Яндекс-погода

Смотрите сюда http://weather.yandex.ru/informer.xml... красиво и информативно! Если же придираться, везде можно найти недостатки: ну размер большой, кому-то места может быть жалко для него на сайте, кто-то может принципиально Яндекс не захочет рекламировать... а Яндексу, кстати, до такой принципиальности, как слону до муравья :)

Информеры Яндекса графические и ява-скрипт не используют. Теперь об альтернативах...

GISMETEO

Теперь смотрите сюда http://informer.gismeteo.ru/. Информеры на любой вкус и цвет! Обратите внимание на текстовые информеры в конце страницы. Если кто-то попадет на Ваш сайт, предварительно отключив в своем браузере загрузку флеш и изображений, наверное удивится такой "картинке"... а вот если этот кто-то вдобавок отключит отображение активного содержимого в браузере, то он ничему не удивится, так как ничего не увидит, потому что эти информеры используют ява-скрипт... Есть ли еще что-то достойное внимания в сети?.. Есть!

Weather Underground

Если Вы собираете на своем сайте народ со всего света или рассказываете о чем то глобальном, то смотрите сюда http://www.wunderground.com/geo/BannerPromo/global/stations/27612.html... Главная фишка, чем эти информеры заинтересовали лично меня, - это то, что они могут показывать вдобавок ТЕКУЩЕЕ время в городе, для которого Вы выбрали информер. Я в сети, вообще, других информеров времени, заслуживающих внимание, НЕ НАШЕЛ, хотя искал с пристрастием! Именно эти информеры стоят на http://www.restnonstop.ru/. Их можно увидеть, если открыть описание страны из меню, расположенного в ЛЕВОЙ стороне страницы. Примечание: там в подсказке на рисунке пока упоминается всегда Египет, но если щелкните на рисунке, перешлет Вас куда надо :) И еще: информеры на restnonstop.ru установлены не для примера, а для дела!..

Ну вот, рассказали все, что знаем. Вам остается только выбирать!

 "Добавить в избранное"
(Дайте посетителям возможность сделать это "одним щелчком" :)

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


<SCRIPT>
	function addBookmark() 
	{
		var url = location.href;
		var title = document.title;
		//Powered by Gecko (Mozilla, NetScape etc.)
		if ((typeof window.sidebar == "object")
			&& (typeof window.sidebar.addPanel == "function"))
			window.sidebar.addPanel (title, url, ""); 
		//IE4+ 
		else if (typeof window.external == "object")
			window.external.AddFavorite(url, title); 
		//Opera7+ 
		else if (window.opera && document.createElement){
			var a = document.createElement('A'); 
			//Opera 6
			if (!a) return false; 
			//
			a.setAttribute('rel','sidebar'); 
			a.setAttribute('href',url); 
			a.setAttribute('title',title); 
			a.click();
		}
		else
			return false;
		//
		return true; 
	}
</SCRIPT>

Этот скрипт вставлять в модуль никакого смысла нет, его лучше вставить прямо в код шаблона перед тегом <body>. В админке выбираете активный шаблон и редактируете HTML! А ссылку "Добавить в избранное" реализуете так:


  <a href="javascript:%20void(addBookmark());">Добавить в избранное</a>
  

 Юзайте на здоровье!

 

Тема следующего выпуска.

Joomla! Новогодние фокусы 2008.
(TinyMCE - тест на адекватность. Как создаются шаблоны для Joomla)

 

Автор данной статьи: Леонид Мальков
Желаем успехов! "efft" Lab

 

© www.efft.ru, 2007 г. Все права защищены
При воспроизведении материалов статьи указание имени автора
и активная ссылка на сайт http://www.efft.ru/ ОБЯЗАТЕЛЬНЫ!


Просмотров: 237175

Коментарии (10)
 
Но я всё равно ничего не понял. Подробнее бы о счётчиках.
 
Роман, 22:17 28 августа 2008 г.
 
спасибо
 
kot, 14:19 23 июля 2010 г.
 
:cry  
 
Все вышло, кнопка работает 
http://dellomania.ru/forum.html
 
Влад, 06:29 06 марта 2012 г.
 
Спасибо за информацию! Захожу регулярно почитать статьи и всегда с нетерпением жду обновления материала! 
С уважением развлекательный портал ![URL=http://ximar.ucoz.ru/?p=71].[/URL]
 
Recejik, 10:36 27 июня 2012 г.
 
Многопользовательский юридический сайт http://www.urist-prudent.ru/
 
cc, 20:19 25 января 2013 г.
 
класс!!!!!!!!!!!!!!!!! 
http://1popov.ru/inet1/disc8
 
Людмила, 21:06 26 марта 2013 г.
 
That's a knowing answer to a difclfuit question
 
Samuel, 04:28 01 августа 2013 г.
 
This has made my day. I wish all ponistgs were this good.
 
Ihab, 08:22 03 августа 2013 г.
 
Your answer was just what I neddee. It's made my day!
 
Nada, 04:37 10 августа 2013 г.
 
If you want to get read, this is how you shuold write.
 
Olle, 07:34 12 августа 2013 г.

Добавить коментарий
Имя:
Коментарий:



Код:* Code

Последнее обновление ( 08.12.2011 г. )