| Индекс материала |
|---|
| Создаем модуль ICQ статуса для Joomla! |
| Основной файл модуля |
| Содержание основного файла |
| Все страницы |
Теперь займемся написанием именно того кода который и будет отображать наш модуль.
Нам понадобится код который будет осуществлять запрос статуса вашей ICQ и отображать соответствующую картинку на вашем сайте.
Выглядит этот код вот так:
<img src="http://wwp.icq.com/scripts/online.dll?icq=55522230&img=21" border="0" alt="Статус ICQ"/>
Ну тут все просто, мы получаем картинку с сервера ICQ соответствующую статусу on/off, принадлежащую номеру 55522230. Цифра 21 говорит о том какой стиль картинки будет использоватся (Icq нам предоставляет разные стили от 1-27 для того чтобы можно было подобрать под дизайн сайта). Примеры картинок
Что мы делаем с этим кодом? Да просто именно в таком виде как есть вставляем его в наш mod_myicq.php. Должно получится вот так:
<?php /** * @version 1.0 * @package ICQ_online * @copyright © 200 LightDeath * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL */ defined('_VALID_MOS' ) or die( 'Restricted access' ); ?> <img src="http://wwp.icq.com/scripts/online.dll?icq=55522230&img=21" border="0" alt="Статус ICQ"/>Вот и все сохраняем опять файлик. А теперь надо посмотреть как работает наш модуль. Что бы это сделать надо его установить. Для этого два наших файла запаковываем в архив mod_myicq.zip. Идем в админку Joomla и устанавливаем обычным способом наш модуль. Теперь заходим в список модулей и находим наш модуль, опубликовываем его и идем смотреть что там у нас получилось.

Вот вроде модуль уже и готов. А что можно еще сделать?
А можно его например унифицировать вот если у вас сменится номер вам придется открывать код и менять номер на новый или кто-то скачал ваш модуль, а у него соответственно номер и ему придется тоже копаться в чужом коде, хоть он пока и маленький. Но человек может быть не таким подготовленным как Вы.
Вот для этого мы сейчас и добавим параметров настройки нашего модуля, чтобы человек который воспользовался вашим творением мог настроить его под себя через админ-панель сайта не ковыряя исходный код.
Итак что мы можем поменять в этом несложном коде
<img src="http://wwp.icq.com/scripts/online.dll?icq=55522230&img=21" border="0"
alt="Статус ICQ"/>
Ну как минимум сам UIN (это так не по русски называют номер ICQ), идентификационный номер отображаемой картинки.
Вот этим и займемся.
Для этого открываем файл mod_myicq.xml и начинаем добавлять наши параметры которые я обещал в начале статьи.
Добавляем между тегов
<params> </params>
вот такую строчку
<param name="myuin" type="text" default="" label="Номер ICQ " description="Введите ваш номер ICQ без пробелов и дефиса." />
Посмотрим что мы сделали:
Мы добавили поле для ввода текста type="text"
Добавили имя для этого поля label="Номер ICQ"
И добавили всплывающую подсказку description="Введите ваш номер ICQ без пробелов и дефиса. "
И имя параметра нашего поля для ввода текста name="myuin"
Теперь по аналогии добавляем второе поле для ввода ID картинки:
<param name="idimg" type="text" default="5" label="id стиля картинки"
description="Введите число от 1 до 27." />
Тут все точно также только одно отличие , мы добавили значение параметру "default" значение "21", сделали мы это для того чтобы поле было изначально заполнено значением.
Ну вот таким образом теперь должен выглядеть ваш mod_myicq.xml
<?xml version="1.0" encoding="windows-1251"?> <mosinstall type="module" version="1.0.0"> <name>ICQ_online?</name> <author>LightDeath</author> <creationDate>jule 2008</creationDate> <copyright>(C) 2008 Open Source Matters. All rights reserved.</copyright> <license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license> <authorEmail>autor(@)mail.ru</authorEmail> <authorUrl>http://cms-joomla.info</authorUrl> <version>1.0.0</version> <description>Информер статуса ICQ</description> <files> <filename module="mod_myicq">mod_myicq.php</filename> </files> <params> <param name="moduleclass_sfx" type="text" default="" label="Суффикс класса модуля" description="Тутможно прописать свой суффикс класса модуля." /> <param name="myuin" type="text" default="" label="Номер ICQ" description="Введите ваш номер ICQ без пробелов и дефиса." /> <param name="idimg" type="text" default="21" label="id стиля картинки" description="Введите число от 1 до 27."/> </params> </mosinstall>

Открываем mod_myicq.php
Теперь мы должны добавить в наш код переменные которые будут принимать значение соответствующие тем данным которые мы будем вводить при настройке нашего модуля.
Для этого добавляем в наш код вот такие строки:
$myuin = $params->get( 'myuin'); $idimg = $params->get( 'idimg', '21' );
Это мы создаем переменные и даем понять нашему коду откуда он должен взять данные и какой переменной присвоить соответствующие значения. Обратите внимание они у нас совпадают с именами полей ввода которые мы сделали в mod_myicq.xml.
Теперь осталось вставить наши переменные в код который отвечает за вывод картинки.
Делаем мы это очень простым способом используя функцию PHP echo вот что должно получится:
<div align="center"> <img src="http://wwp.icq.com/scripts/online.dll?icq= <?php echo $myuin; ?> &img=<?php echo $idimg; ?> " border="0" alt="Статус ICQ" /> </div>
Обратите внимание я все это поместил еще и в блок DIV для того чтобы просто отцентрировать нашу картинку по середине нашего модуля.
Предлагаю добавить к нашей картинке снизу еще и сам номер ICQ, чтобы человек мог увидеть на какой номер написать. А еще сделаем этот номер ссылкой на ваш профиль ICQ. Делается это вот таким кодом:
<a href="http://wwp.mirabilis.com/scripts/Search.dll?to=<?php echo $myuin; ?> " target="_blank" class="menu"><?php echo $myuin; ?></a>
Тут мы тоже заменили номер на переменную.
Вот так будет выглядеть наш mod_myicq.php с новыми изменениями:
<?php /** * @version 1.0 * @package ICQ_online ? * @copyright © 200 LightDeath * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL */ defined( '_VALID_MOS' ) or die( 'Restricted access' ); $myuin = $params->get( 'myuin'); $idimg = $params->get( 'idimg', '21a' ); ?> <div align="center"> <img src="http://wwp.icq.com/scripts/online.dll?icq=<?php echo $myuin; ?>&img=<?php echo $idimg; ?>" border="0" alt="Статус ICQ" /><br> <strong> <a href="http://wwp.mirabilis.com/scripts/Search.dll?to=<?php echo $myuin; ?> " target="_blank" class="menu"><?php echo $myuin; ?></a></strong> </div>
Ну вот вроде и все можно упаковывать в *.zip и устанавливать, если вы устанавливали предыдущий вариант то его надо предварительно удалить.
Ну а после установки и настройки параметров. Можно будет посмотреть на результат:

Незнаю насколько понятно я обьяснил, но сложностей именно с эти вроде не должно возникнуть.
Точно таким же образом можно делать какие угодно модули, смело использую PHP, JAVA и HTML.
Ну я думаю что это не конец, что нибудь придумаю еще и на примере этого модуля буду учится сам и может помогу еще кому нибудь.
Люди которые понимают в програмировании побольше (учитывая что я ничего почти не понимаю и делаю интуитивно), прошу писать замечания и советы может они помогут мне и всем остальным.
Оригинал статьи - cms-joomla.info
| < Предыдущая | Следующая > |
|---|
Комментарии
Коммент от
Мар 14, 2009Комментатор
SeBunКажется, букву м пропустил. А так статья понравилась, молодец!
Коммент от
Июл 03, 2009Комментатор
SandroКоммент от
Сен 02, 2009Комментатор
АлександЫр-дЫр-дЫрКоммент от
Сен 06, 2009Комментатор
туристКоммент от
Сен 06, 2009Комментатор
Aleks_El_DiaНужно переделать лишь xml файл (можно взять от любого модуля для 1.5 и подкоректироват ь). Содержание основного файла (http://www.eldia.org.ua/stati/15-stati-po-joomla/36-sozdaem-modul-icq-statusa-dla-joomla.html?start=2 ) остается прежним.
Коммент от
Окт 12, 2009Комментатор
ЕвгенийРаньше это было на сайте cms-joomla.info, а теперь http://blog.boxdox.ru/2009/08/modul_for-joomla/
Коммент от
Окт 13, 2009Комментатор
Aleks_El_DiaЭто претензия?
Ссылка на первоисточник стоит. Мне отслеживать перемещение всех первоисточников ?
Коммент от
Ноя 17, 2009Комментатор
Александрвсегда думал что icq сложно определять статус
Коммент от
Дек 14, 2009Комментатор
Леонидwww.foto-s.ru/the-news/262-icq-online-module-for-joomla-15.html
Коммент от
Дек 17, 2009Комментатор
Денис ОгурцовRSS лента комментариев этой записи