Форум программистов, компьютерный форум, киберфорум
Joomla
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/12: Рейтинг темы: голосов - 12, средняя оценка - 4.83
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
1

Написание собственного модуля

15.11.2012, 14:36. Показов 2503. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, форумчане, встала задача написать модуль- бегущая строка. На joomla! работаю не так долго и модули под нее никогда не писал. Прочитал много мануалов, добился того, что все устанавливается, задаются параметры, но реакция сайта на мой модуль просто катастрофическая. Ниже привожу код (буду очень рад критике т.к. программистом вообще работаю 2 месяца)
Код mod_string.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
    <name>mod_string</name>
    <author>Dima</author>
    <creationDate>Novemver 2012</creationDate>
    <license>[url]http://www.gnu.org/licenses/gpl-2.0.html[/url] GNU/GPL</license>
    <version>1.5.0</version>
    <description>RUNNINGSTRING</description>
    <files>
        <filename module="mod_string">mod_string.php</filename>
        <filename module = "mod_string">jquery.js</filename>
        <filename module = "mod_string">run_string.js</filename>
        <filename module = "mod_string">mod_string.css</filename>
    </files>
    <params>
            <param name="NameOFNews1" label="NameOFNews1" type="text" description="NameOFNews1">
            </param>
            <param name="NameOFNews2" label="NameOFNews2" type="text" description="NameOFNews2">
            </param>
            <param name="NameOFNews3" label="NameOFNews3" type="text" description="NameOFNews3">
            </param>
            <param name="href1" label="href1" type="text" description="href1"> 
            </param>
            <param name="href2" label="href2" type="text" description="href2"> 
            </param>
            <param name="href3" label="href3" type="text" description="href3"> 
            </param>
    </params>
</install>
Код mod_string.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php defined('_JEXEC') or die('Restricted access'); ?> 
    <script type="text/javascript">
        $(document).ready(function() {
        $('#s1').cycle({ 
        fx:      'zoom', 
        speed:    1000, 
        timeout:  2000
       });
    });
    </script>
            <ul id="ticker01">
            <li><span>10/10/2007</span><a href="<?php echo $param->get('href1')?>"></a><?php echo $param->get("NameOFNews1") ?></a></li>
            <li><span>10/10/2007</span><a href="<?php echo $param->get('href2')?>"></a><?php echo $param->get("NameOFNews2") ?></a></li>
            <li><span>10/10/2007</span><a href="<?php echo $param->get('href3')?>"></a><?php echo $param->get("NameOFNews3") ?></a></li>
            </ul>
jquery.js и run_string.js все понятно думаю(на сайте все работает как надо если все прописываю просто в index.php)
и, наконец mod_string.css
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
.tickercontainer { /* the outer div with the black border */
//border: 1px solid #000;
background: #fff; 
width: 738px;
height: 27px; 
margin: 0; 
padding: 0;
overflow: hidden; 
top: 2%;
left:40px;
border-radius: 10px;
position: relative;
top: 70px;
left: 21%;
box-shadow: 1px 1px 15px black;
}
.tickercontainer .mask { /* that serves as a mask. so you get a sort of padding both left and right */
position: relative;
left: 10px;
top: 8px;
width: 718px;
overflow: hidden;
}
ul.newsticker { /* that's your list */
position: relative;
left: 750px;
font: bold 10px Verdana;
list-style-type: none;
margin: 0;
padding: 0;
 
}
ul.newsticker li {
float: left; /* important: display inline gives incorrect results when you check for elem's width */
margin: 0;
padding: 0;
background: #fff;
}
ul.newsticker a {
white-space: nowrap;
padding: 0;
color: #ff0000;
font: bold 10px Verdana;
margin: 0 50px 0 0;
} 
ul.newsticker span {
margin: 0 10px 0 0;
}
реакция сайта на включенный модуль:
HTML5
1
10/10/2007
и все, больше ничего, голая страница и надпись, спасайте=).
Все отлично работало и без написания модуля, но чтобы добавить новость в бегущую строку приходится лезть в index.php, а простому пользователю нечего там делать, ему проще все через админку назначить.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2012, 14:36
Ответы с готовыми решениями:

Написание модуля обратной связи
Хочу написать чтото вроде модуля связи с администратором. хочу добавить чуть эфектов созданной...

Написание собственного контейнера
Доброго времени суток ! Помогите написать собственный контейнер, основанный на STL, ибо сам с...

Написание собственного прерывания
Доброго времени суток. Нужно написать собственное прерывание, которое выводит на экран строку....

Написание собственного компонента
Приветствую! Делаю лебедку для машины. Стандартные джоинты мне не понравились (ограничения по...

14
Администратор
12268 / 5333 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
15.11.2012, 15:34 2
OdessaTV, могу предложить вариант - модуль HTML и код бегущей строки на HTML - безо всякого квери и яваскрипт

код для модуля к примеру

Код
<center><marquee scrollamount="3" onmouseover="this.scrollAmount=0" onmouseout="this.scrollAmount=3" width="510" height="20"><b><a href="ссылка бегущего текста">Сам бегущий текст</a> </b></marquee></center>

Инструкция посложнее

Код
<marquee onmouseover=this.stop(); onmouseout=this.start(); style="BORDER: #000000 1px solid" scrollamount="3" scrolldelay="23" width="1262" height="23" bgcolor="#CCCCCC" align="middle" direction="left"><i><font face="Arial" size="4" color="#990000">ТЕКСТ БЕГУЩЕЙ СТРОКИ</font></i></marquee>
Настройки

Кликните здесь для просмотра всего текста
* scrollamount="1" — скорость движения строки. (Рекомендуется ставить скорость "1", в этом случае строка выглядит более удобочитаемо и не дёргается)
* scrolldelay="20" — этот атрибут задаёт временной интервал между шагами бегущей строки.
* width="200" — ширина бегущей строки в пикселях.
* height="17" — высота бегущей строки. (Если вы делаете бегущую строку в одну строчку, то можно высоту не указывать, она сама подбирается под размер букв).
* bgcolor="#E9E9D1" — задаёт фоновый цвет бегущей строки. (Вместо E9E9D1 подставляете свой цвет).
* direction="left" — задаёт направление движения бегущей строки. В данном случае это "left" в лево. Но также может применять значения "right" вправо, "up" вверх, "down" вниз.
* direction="right" — движение текста вправо.
* direction="up" — движение текста в верх.
* direction="down" — движение текста вниз.
* loop="2" — задаёт число проходов бегущей строки. (Если указать "2" то два раза текст проедет и больше показываться не будет, только если ещё раз обновить страницу).
* hspace="70" — этот атрибут задает смещение в пикселах в право бегущей строки.
* vspace="70" — этот атрибут задает пустое пространство выше и ниже бегущей строки.
* behavior="scroll" — прокрутка текста (В большинстве случаев можно не указывать, т.к. текст по умолчанию всегда прокручивается).
* behavior="slide" — прокрутка текста с остановкой.
* behavior="alternate" — движение от края к краю.
direction="up" и behavior="alternate" текст будет двигаться от верха к низу и обратно. Используя два атрибута direction="up" и behavior="slide" текст поднимается снизу вверх и достигнув самого верха останавливается. Для более красивого оформления бегущей строки можно выделить края подставив:
style="BORDER: #000000 1px solid"
Здесь #000000 это цвет, а 1px толщина границ бегущей строки в пикселях.
* onmouseover=this.stop(); — при наводе курсора мыши текст остановится;
* onmouseout=this.start(); — при убирании курсора мыши текст продолжит своё движение.


А по модулю - включите отладку в системе Joomla, она Вам выдаст все ошибки, какие отловит.
1
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
15.11.2012, 16:56  [ТС] 3
Спасибо, но куда я должен все это добавить?

Добавлено через 5 минут
Так же само как и делал только ваш код использовать?

Добавлено через 39 минут
хм.. странно.. все поставил, сайт остался в порядке(слава Богу) но вот ведь незадача.. Модуль просто появляется в назначенной позиции со своим заголовком и все. Никакого бегущего текста, никакого движения, в общем пичаль, простите, что терроризирую, но выручите и тут пожалуйста. В модуле 2 файла:
mod_news.xml:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
    <name>mod_string</name>
    <author>Dima</author>
    <creationDate>Novemver 2012</creationDate>
    <license>[url]http://www.gnu.org/licenses/gpl-2.0.html[/url] GNU/GPL</license>
    <version>1.5.0</version>
    <description>RUNNINGSTRING</description>
    <files>
        <filename module="mod_string">mod_news.php</filename>
    </files>
    <params>
            <param name="NameOFNews" label="NameOFNews" type="text" description="NameOFNews">
            </param>
            <param name="href" label="href" type="text" description="href">
            </param>
    </params>
</install>
(даже параметры не появляются в админке)
mod_news.php:
PHP
1
2
3
<?php defined('_JEXEC') or die('Restricted access'); ?> 
<marquee onmouseover=this.stop(); onmouseout=this.start(); style="BORDER: #000000 1px solid" scrollamount="3" scrolldelay="23" width="1262" height="23" bgcolor="#CCCCCC" align="middle" direction="left"><i><font face="Arial" size="4" color="#990000">ТЕКСТ БЕГУЩЕЙ СТРОКИ</font></i></marquee>
<!--<center><marquee scrollamount="3" onmouseover="this.scrollAmount=0" onmouseout="this.scrollAmount=3" width="100" height="20"><b><a href="#">Сам бегущий текст</a> </b></marquee></center>-->
Пробовал оба варианта.

Добавлено через 18 минут
Все, разобрался, спасибо большое, неправильно mod_news.php составил. Теперь все работает.
1
189 / 185 / 54
Регистрация: 23.10.2010
Сообщений: 1,336
15.11.2012, 18:29 4
зачем же велосипед изобретать - не проще ли просто в шаблон вставить строку?
0
Администратор
12268 / 5333 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
15.11.2012, 18:38 5
nonamez123, если Вы внимательно прочитаете всю тему, то увидите, что не проще, и там даже обоснование есть - почему.
1
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
16.11.2012, 12:39  [ТС] 6
Я сейчас сам модуль немного допилю и выложу на файлообменник, если кому-нибудь нужно - кину ссылку в этой теме.
1
189 / 185 / 54
Регистрация: 23.10.2010
Сообщений: 1,336
16.11.2012, 12:41 7
Цитата Сообщение от Taatshi Посмотреть сообщение
nonamez123, если Вы внимательно прочитаете всю тему, то увидите, что не проще, и там даже обоснование есть - почему.
ну так да, JOOMLA - Идеальная система! Нигде, кроме как в ней нельзя для добавление одной строки написать целый модуль!
0
Администратор
12268 / 5333 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
16.11.2012, 13:04 8
nonamez123, прекращайте оффтоп. Если Вы не удосужились почитать, я приведу Вам цитату.

Цитата Сообщение от OdessaTV Посмотреть сообщение
Все отлично работало и без написания модуля, но чтобы добавить новость в бегущую строку приходится лезть в index.php, а простому пользователю нечего там делать, ему проще все через админку назначить.
Добавлено через 2 минуты
Цитата Сообщение от OdessaTV Посмотреть сообщение
Я сейчас сам модуль немного допилю и выложу на файлообменник, если кому-нибудь нужно - кину ссылку в этой теме.
Только укажите версию Joomla под которую написан модуль. И на файлообменник не надо - прикрепите к сообщению. Форум это позволяет в расширенном режиме редактирования поста.

Было бы замечательно)
0
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
16.11.2012, 14:30  [ТС] 9
Итак, я доделал (наверно) модуль для организации бегущей строки на сайте.
Версия joomla 1.5, возможность добавления до 3-х ссылок, попытался сделать изменяемыми максимальное количество параметров. Если будут идеи что еще добавить или обнаружены баги- пишите, буду стараться исправить, надеюсь всем модуль будет полезен.
Вложения
Тип файла: zip mod_running_string.zip (1.4 Кб, 8 просмотров)
0
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
16.11.2012, 21:03  [ТС] 10
Скачайте и отпишитесь хоть кто-то=) понравилось или нет)
0
Администратор
12268 / 5333 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
16.11.2012, 22:03 11
[MENTION=314003]OdessaTV[/MENTION]; давайте скрин с натройками)))

Добавлено через 1 минуту
Оооооо!!!! Заррработало!!!! Хе-хе... будем тестить))

Добавлено через 4 минуты
1. Плохо, что только линки. Нужна возможность добавить и обычный текст.
2. Нужна возможность регулировать расстояние между линками - чтобы не так - пока не исчез один - не появляется другой, а чтобы они шли один за одним...

Завтра еще гляну...
0
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
17.11.2012, 22:51  [ТС] 12
Сейчас тружусь над версией 2.0, будет готово в понедельник. Доделаю-скину новую, посмотрите, оцените)
0
Администратор
12268 / 5333 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
17.11.2012, 23:31 13
OdessaTV, Вы бы на 2.5 перевели... 1.5 - умерла уже...
0
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
19.11.2012, 15:28  [ТС] 14
Пишу под 1.5 только потому, что сайт, с которым сейчас работаю на 1.5 стоит и нельзя переходить на 2.5- начальство запретило=) так что пока так. В будущем перейду на 2,5 (надеюсь).

Добавлено через 28 минут
Кстати, если не трудно такой вопрос: можно ли с версии 1.5 перевести на 2.5 без потери адресации страниц и с шаблоном, содержимым, в общем сделать такой же сайт, только на 2.5?
0
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
19.11.2012, 15:39  [ТС] 15
Вот, написал новую версию (использовал jquery). Зато теперь настройка более гибкая, появилась возможность прописывать дату, строка бежит и не дергается. Добавил настроек по максимуму поэтому так много полей для заполнения появилось=). Если нужно прописать что-то еще - просто находите класс элемента бегущей строки (делается в любом браузере) и дописываете стили в файл с css шаблона. Буду рад услышать критику, отзывы, предложения.
Вложения
Тип файла: zip mod_string_run.zip (81.9 Кб, 16 просмотров)
0
19.11.2012, 15:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2012, 15:39
Помогаю со студенческими работами здесь

Написание собственного Telnet'a
Добрый день/ помогите пожалуйста с работой Telnet написал код соединения с роутером(потом надо...

Создание собственного модуля
Создать свой собственный модуль ( использовать 3-5 процедур и функций ). Также привести пример...

Меню собственного модуля
Я создал модуль, в нем процедурой описала меню. Создала новую программу, подключила модуль, как...

Создание собственного модуля
Всем хаюшки! При создании собственного модуля возникла проблема, а именно: function MassPo(var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru