loading...

Авторизация ...

Имя пользователя :
Пароль :
я всё забыл!

В помощь вебмастеру, PHPНаписание мини. мода для DLE

Написал GreenFest, 18 января 2008 | 23 комментария | рейтинг новости не нравится   +57   нравится Версия для печати
Ну вот решил вам написать маленькую статью как написать самый простой модуль для DLE. Я думаю я ещё много буду писать таких статей для вас. Чтобы вам всегда было интересно читать и было познавательно.

Тема нашей задумки это показать текст за комментарии в модуле. Вам это пригодиться когда вы будете делать свой модуль и вам понадобиться 100% такой шаг. Принцип просто ставиться проверка комментариев на указанный ваш лимит. Место комментариев можете придумать своё.

Вы ставите 100 у пользователя 20 т.е проверка

if (20 >= 100){
echo “Да”;
{
else
{
echo “Нет”;
}


Жмякаем далее и читаем :)

Файлы которые создаём:

* test.php (в папке engine/modules/) - жизнь модуля
* test.tpl (в папке templates/ваш_шаблон/) - одежда ;)

Файлы которые редактируем:

* engine.php ( в папке engine/)

Ну теперь приступим. Вы выполнили все действия создали те два файла, теперь можно переходить к кодингу. Буду писать понятно и аккуратно чтобы вы понимали.

Код: test.php

if(!defined(’DATALIFEENGINE’))
{
die(”Попытка взлома!”);
}
$tpl->load_template(’test.tpl’); // Подгружаем шаблон
$query = $db->query(”Select * from ” . PREFIX . “_users where user_id=’$member_id[user_id]’”); // Запрос к таблице с пользователями по user_id
/*
Это будет наш мини конфиг
*/

$cotest[’via’] = “2″; // указываете скока надо комментарие чтобы показало текст.
/*
Это будет наш мини конфиг
*/

$ost = ($cotest[’via’]) - ($row[’comm_num’]); // таким оброзом мы узнаём скока нехватает нам комментариев чтобы увидеть текст

if ($row[’comm_num’] >= $cotest[’via’]){ // делаем проверку если комментариев у пользователя. Если комментариев у пользователся больше чем указано в $cotest[’via’] то у него появиться текст. Что ты сделал этот модуль.
/*
это текст если у вас хватает комментариев
*/

$test .= <<<HTML
Поздравляем! У вас есть достаточное кол-во комментариев.<br>
Если видете это сообщение значит у вас получилось написать этот мини модик.<br>
Автор: <a href=”http://bloges.ru/”>Статьи для программистов</a>
HTML;
/*
это текст если у вас хватает комментариев
*/

}
else
{
/*
это текст если у вас нехватает комментариев
*/

$test .= <<<HTML
Уважаемый пользователь к сожалению у вас нехватает комментариев чтобы увидеть тута текст.<br>
<b>На данный момент у вас:</b> {$row[’comm_num’]}<br>
<b>Вам ещё не хватает:</b> {$ost}<br>
Если видете это сообщение значит у вас получилось написать этот мини модик. <br>
Автор: <a href=”http://bloges.ru/”>Статьи для программистов</a>
HTML;
/*
это текст если у вас нехватает комментариев
*/

}

$bloges = array(
‘{name}’ => “Мой первый модуль”, // Текст который будет выводиться в титле шаблона test.tpl
‘{test}’ => $test, // а эт угадайте! ответ выше
);
$tpl->set(”, $bloges);
$tpl->compile(’content’);
$tpl->clear();


Редактируем: engine.php


Находим: (это действие для работы модуля по адресу /index.php?do=test)

switch ($do) {


Ниже добавляем:

case “test” :
include ENGINE_DIR.’/modules/test.php’;
break;


Далее находим: (это действие для speedbar)

elseif ($do == ’stats’) $nam_e=$lang[’title_stats’];


Ниже добавляем:

elseif ($do == ‘test’) $nam_e=”Тест модуль”;


После этого наш модуль доступин по адресу:

* http://site/index.php?do=test

Если есть желание то можно и сделать так:

* http://site/test/

Для этого в корне открываем файл .htaccess

Находим там:

RewriteRule ^page/(.*)$ index.php?cstart=$1 [L]


Ниже добавляем:

RewriteRule ^test/$ index.php?do=test[L]


Ах. Да забыл в test.tpl вставляем своё содержимое тоесть дизайн. И вставляем в него:

* {test} - Для вывода контента
* {name} -Для вывода названия страницы

Маленький пример стандартный шаблон:

<table width=”100%” border=”0&#8243; cellspacing=”0&#8243; cellpadding=”0&#8243;>
<tr>
<td width=”10&#8243; align=”left” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_11.gif” width=”10&#8243; height=”8&#8243; /></td>
<td align=”left” valign=”top” class=”a_block_12&#8243;><img src=”/templates/Simple/images/spacer.gif” width=”1&#8243; height=”8&#8243; /></td>
<td width=”10&#8243; align=”right” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_13.gif” width=”10&#8243; height=”8&#8243; /></td>
</tr>
<tr>
<td width=”10&#8243; align=”left” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_21.gif” width=”10&#8243; height=”23&#8243; /></td>
<td align=”left” valign=”top” class=”a_block_22&#8243;><table width=”100%” border=”0&#8243; cellspacing=”0&#8243; cellpadding=”0&#8243;>
<tr>
<td width=”17&#8243; align=”left” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_22_01.gif” width=”17&#8243; height=”23&#8243; /></td>
<td align=”left” class=”ntitle”>{test}</td>
<td width=”17&#8243; align=”right” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_22_03.gif” width=”17&#8243; height=”23&#8243; /></td>
</tr>
</table></td>
<td width=”10&#8243; align=”right” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_23.gif” width=”10&#8243; height=”23&#8243; /></td>
</tr>
<tr>
<td width=”10&#8243; align=”left” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_31.gif” width=”10&#8243; height=”9&#8243; /></td>
<td align=”left” valign=”top” class=”a_block_32&#8243;><img src=”/templates/Simple/images/spacer.gif” width=”1&#8243; height=”9&#8243; /></td>
<td width=”10&#8243; align=”right” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_33.gif” width=”10&#8243; height=”9&#8243; /></td>
</tr>
<tr>
<td width=”10&#8243; align=”left” valign=”top” class=”a_block_61&#8243;> </td>
<td align=”left” valign=”top” class=”news”><br />{test}</td>
<td width=”10&#8243; align=”right” valign=”top” class=”a_block_63&#8243;> </td>
</tr>
<tr>
<td width=”10&#8243; align=”left” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_71.gif” width=”10&#8243; height=”7&#8243; /></td>
<td align=”left” valign=”top” class=”a_block_72&#8243;><img src=”/templates/Simple/images/spacer.gif” width=”1&#8243; height=”7&#8243; /></td>
<td width=”10&#8243; align=”right” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_73.gif” width=”10&#8243; height=”7&#8243; /></td>
</tr>
<tr>
<td width=”10&#8243; align=”left” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_81.gif” width=”10&#8243; height=”14&#8243; /></td>
<td align=”left” valign=”top” class=”a_block_82&#8243;> </td>
<td width=”10&#8243; align=”right” valign=”top”><img src=”/templates/Simple/images/dlet_artblock_83.gif” width=”10&#8243; height=”14&#8243; /></td>
</tr>
</table>
<br />


Ну вот и всё моя статья окончена. Ждите следующей.

Адрес статьи: _http://bloges.ru/post/5
Адрес аффтора: _http://onios.net/


(c) 2008, GreenFest



Комментарии пользователей

  Экспорт комментариев в RSS
 Сортировать по рейтингу, по дате

Написал unstandart, 18 января 2008 в 02:51 плохой комментарий   +1   хороший комментарий
Новостей: 5, комментариев: 83, Изгнанные
Карма:
с др тя тады )

Написал djrafn, 18 января 2008 в 03:21 плохой комментарий   +1   хороший комментарий
Новостей: 1, комментариев: 105, Пользователи
Карма:
С д.р. тебя...СИЛЬНО НЕ ПИТЬ!!!! friends

Написал Fillosoff, 18 января 2008 в 03:22 плохой комментарий   +1   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
Поздравляю! пусть радость не покидает тебя, как и хорошие идеи 4

Написал Xmidsh, 18 января 2008 в 08:29 плохой комментарий   0   хороший комментарий
Новостей: 3, комментариев: 115, Пользователи
Карма:
Цитата: GreenFest
У меня др мне весело

Главное в процесе веселья не пойти менять пароли)))
GreenFest с ДЕНЮХОЙ!!!

Написал Vitas, 18 января 2008 в 12:10 плохой комментарий   0   хороший комментарий
Новостей: 4, комментариев: 276, Пользователи
Карма: -2±
спасибо за статью, именно такие маленькие инструкции помогают познавать мир dle ^^

Написал fl.atom, 18 января 2008 в 12:51 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
С ДНЕМ РОЖДЕНИЯ
ВСЕГО САМОГО НАИЛУЧШЕГО


Написал Bassist, 18 января 2008 в 13:20 плохой комментарий   +1   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
С Днюхой тебя!!!!!!! =) Спасибо за статью!

Написал demzyk, 18 января 2008 в 14:08 плохой комментарий   0   хороший комментарий
Новостей: 30, комментариев: 1431, Пользователи
Карма: 22±
Принципи это готовый мод, пошаговой инструкции как таково для создания своего модуля нет )

Кстати вот тут обсуждалась тема ..

Написал Genesis, 18 января 2008 в 15:01 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
статья рулёз) респект)

Написал SpiderBY, 18 января 2008 в 15:17 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 364, Пользователи
Карма:
Так а если всё это замутить, можно ли скрывать комменты/контент за особым тегом, для прочтения которого надо *** комментов?

Написал Hamer, 18 января 2008 в 16:26 плохой комментарий   0   хороший комментарий
Новостей: 42, комментариев: 2186, Изгнанные
Карма: 50±
Блин, для днюхи есть другой пост)))
Молодса, я вообще давно хотел написать полный мануал.... но немогу времени вообще в обрез..

ПС: все с днюхой поздравляли некто не заметил что либо это парсер гадостный так переделал либо это грин так написал.

$cotest[’via’] = ”2″;

что это такое?)))

почему вместо " - `` и вместо ' - `.
Такие ошибки будут))))

Написал SpiderBY, 18 января 2008 в 19:07 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 364, Пользователи
Карма:
Извините за наглость, которая называется живым интересом, но не мог бы кто-нибудь вышеизложенное обобщить и в текстовом файле, можно и отдельной новостью, как модуль/хак вывесить мануал, как это всё вписать в ДЛЕ, что бы в комментах/новостях можно было ставить
[hide=x][/hide]
, где x - кол-во комментов на сайте для просмотра скрытого текста!?
Ну или на крайняк поясните, как вышеизложенное вкрутить куда надо? help232 А то мод. что был тут ранее, поисона вроде, совсем нерабочий :(
п.с. желательно, что бы работало на 5.3-5.7 А то для 6.5 и так много вкусняшки лежит уже :)

Написал Vitas, 18 января 2008 в 21:42 плохой комментарий   0   хороший комментарий
Новостей: 4, комментариев: 276, Пользователи
Карма: -2±
SpiderBY, На самом деле это не очень сложно, я уже сейчас представляю как сделать это перебором замен в коде, придется указывать несколько почти одинаковых строк, с перечислением цифр возможных значений hide... Но, лично я бесплатно это мозговать и выкладывать не собираюсь ^^

Написал SpiderBY, 18 января 2008 в 23:35 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 364, Пользователи
Карма:
А ведь был бесплатный, оставалось его слегка доработать. beee

Написал SpiderBY, 20 января 2008 в 01:10 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 364, Пользователи
Карма:
Цитата: GreenFest
доработай blum

если б мог :((
п.с. а ты модуль автоп ПМ 1.2 будешь делать или раздумал? :)

Написал IQ, 24 января 2008 в 19:56 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 23, Пользователи
Карма:
мда, с кавычками и апострофами ты накосячил)

Написал grimweb, 31 марта 2008 в 12:37 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 446, Модератор
Карма: 23±
блин! спс огромное, мало таких уроков в сети значит, скоро буду писать свой первый мод под DLE)

Написал orucos, 8 мая 2008 в 20:29 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
bp пасиб :) оцен спасиба цмок тя :)

Написал Emperio, 20 июня 2008 в 00:18 плохой комментарий   0   хороший комментарий
Новостей: 13, комментариев: 179, Пользователи
Карма: 10±
demzyk
Чтобы создать свой модуль надо знать язык PHP. Каждый пытается разобраться сам. Но это бесполезно. Советую сесть прочитать 300 страничек и стать уже реальным программистом.

Написал GreenFest, 22 июля 2008 в 15:55 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
Emperio,
нефига можно и самому разобраться.
только асы первые две темы или 3 из документации. а в остальном документация понадобиться функции смотреть

Написал Emperio, 7 сентября 2008 в 23:06 плохой комментарий   0   хороший комментарий
Новостей: 13, комментариев: 179, Пользователи
Карма: 10±
Знаешь ты прав. Я сам в этом недавно убедился!

Написал selenak, 30 января 2009 в 23:05 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
У меня не получилось. Для первого модуля просто взяла и скопировала весь пример. кавычки же надо менять на обычные парные? Делаю вызов ...pb.ru/index.php?do=test результат ноль.
Для второго пробного модуля вообще убрала все серединки из двух файлов. И пишет Невозможно загрузить шаблон: ’fototpl’. что же делать? подскажите пожалуйста!

Написал snakez, 12 марта 2009 в 22:15 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
за урок спасибо! правда лично я это уже проходил )
* test.php (в папке engine/modules/) - жизнь модуля
* test.tpl (в папке templates/ваш_шаблон/) - одежда ;)


test.php (в папке engine/modules/) <--- можно засунуть любой нужный php скрипт (ну всмысле чистый php код)

где то был подобный урок, вот только не понятно как для модуля сделать раздел в админке (в том уроке который я видел был какой то недочёт, ибо на версии 7.5 админка вообще перестала работать)

Очень прошу людей сведующих написать урок создания модуля по следующим критериям:


1. наличие в админке раздела для mymod и установка в нём значения для (к примеру) 3-х переменных, например:
1.1 Фраза оне - значение "адын"
1.2 Фраза тво - значение "ту"
1.3 Фраза фри - значение "фри"


2. по ссылке index.php?do=mymod естественно доступен наш модуль который по заданым параметрам tpl в нужном нам месте рисует нам:

адын ту фри


3. Ну и желательно наличие в конфиге статистических (неизменяемых) переменных


Заранее огромное спасибо! Думаю, что подобный урок для версии 7.5 будет очень полезен (не только мне), а что положить в engine/modules/mymod.php людям подскажет их фантазия!

Информация



Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
Анализ Тиц и PR сайта

[removed][removed] [removed] (adsbygoogle = window.adsbygoogle || []).push({}); [removed] ,td { font-family: verdana, arial, sans-serif; color: #666; font-size: 80%; }

[removed][removed] [removed] (adsbygoogle = window.adsbygoogle || []).push({}); [removed]