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

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

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

Студворк — интернет-сервис помощи студентам
Здравствуйте, форумчане, встала задача написать модуль- бегущая строка. На 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
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.11.2012, 14:36
Ответы с готовыми решениями:

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

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

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

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

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

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

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

Code
1
<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
 Аватар для OdessaTV
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 88
15.11.2012, 16:56  [ТС]
Спасибо, но куда я должен все это добавить?

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

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

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

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

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

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

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru