Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » Проблема с написанием модуля

Проблема с написанием модуля


     13.08.2011    Все вопросы » Модули    2669

вопрос
Здравствуйте! Я начал учится писать модули для DLE, а именно по этой статье
Внимание! У вас нет прав для просмотра скрытого текста.
. У меня возникла такая проблема: когда заходишь в админку модуля, пишешь что то в поля которые там и нажимаешь сохранить мне выдает Доступ отклонен. Подскажите пожалуйста, что там не так.Заранее спасибо!

Ответил: rashpil


Как правильно подметили в коментах ниже. Чтобы писать модули, нужно овладеть хотя бы основами программирования на php. Ну а если по вопросу, пологаю, что и админку ты писал по тому мануалу, а он можно сказать просроченый :)

if ($member_db[1] != 1) {
    msg ("error", $lang['opt_denied'], $lang['opt_denied']);
}


Вот такое условие есть в админке, которое нацелено на проверку принадлежности посетителя к группе админов. Но вся проблема в том, что в новых версиях движка массива $member_db просто нет. Вместо него появился массив $member_id. В котором теперь совсем другие ключи (Их можно проследить по названиям колонок в таблице dle_users)

Стало быть, этот код нужно исправить на:

if ($member_id['group'] != 1) {
    msg ("error", $lang['opt_denied'], $lang['opt_denied']);
}

18 комментариев

ПафНутиЙ
Админ

ПафНутиЙ - 13 августа 2011 16:55 -

Для начала не нужно лезть в такие дебри, как модуль с админкой, попробуйте с простого, ведь не всегда нужна админка вообще в модулях, можно и через строку подключения модуля все настройки передать.

Каков вопрос - таков и ответ. Просто помните об этом.

kronon
Юзер

kronon - 13 августа 2011 17:13 -

не, ну я хочу научится с админкой делать, так как мне нужен модуль именно с админкой )))

nowheremany
Эксперт

nowheremany - 13 августа 2011 17:38 -

Если честно, по мануалам писать модули нельзя не программистам. Ибо такие глупые вопросы рождаются.

Благодарность принимаю тут Связь

kronon
Юзер

kronon - 13 августа 2011 17:40 -

ну я как бы первый раз. Решил посмотреть структуру написания модуля.

kronon
Юзер

kronon - 13 августа 2011 18:30 -

***Комментарий удален***

kronon
Юзер

kronon - 13 августа 2011 18:35 -

не помогло((((
все равно пишет Доступ отключен (

Sander
Эксперт

Sander - 13 августа 2011 19:20 -

Ну прям как панацея от всех бед wink
/*код против взлома*/
if(!defined('DATALIFEENGINE'))
{die("Hacking attempt!");}
/*код против взлома*/


Убрать <strong> из кода, закрывающий тег тоже.
$action - я так понимаю это _POST параметр, почему нет обработчика?

<?php
/* Подключаемые файлы */
<strong>require_once</strong>(ENGINE_DIR.'/inc/test.func
tions.php');
<strong>require_once</strong>(ENGINE_DIR.'/data/config.t
est.php');

/**
* Сохранение настроек модуля
*/
if ($action == "dosave") {


За что не люблю такие "уроки" ламера для ламера, то что ошибок в нем туева хуча, а начинающие программисты учатся по этому шлаку.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

kronon
Юзер

kronon - 13 августа 2011 19:34 -

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

ПафНутиЙ
Админ

ПафНутиЙ - 13 августа 2011 19:58 -

lol Улыбнуло.
Лучший способ научиться писать модули - начать писать их, пусть это и звучит как "масло масляное".
Для начала берём простейший модуль, который выводи чтототам, кудатонасайт, при этом в нём есть админка. и начинаем его модифицировать, улучшать, расширять и т.д.
Т.е. нужно тренироваться на кошках работающем модуле.

Каков вопрос - таков и ответ. Просто помните об этом.

rashpil
Эксперт

rashpil - 13 августа 2011 21:16 -

Да так тоже далеко не уехать, проверено :) Нужно начинать курить мануалы по php там, по базам данных и всяким не менее приятным штукам. А дальше уже браться за "удачные" примеры и уже крехтеть над ними :)

Хотя, конечно же, универсального способа обучения мудростям веб программирования, нет. Но на мой взгляд, мною описанный самый простой :)

kronon
Юзер

kronon - 13 августа 2011 22:24 -

Ребята можете посмотреть код админки ?
в общем все нормально работает, но не сохраняются данные

вот файлик)
http://rghost.ru/17865161

Sander
Эксперт

Sander - 13 августа 2011 23:04 -

Н-да... Как всегда за пример берется мой первый модуль...
Полета фантазии вообще нету.
Как я делал приставку у переменных по первым 3м буквам своего ника, так и клонируются модули с моей переменной lol
Вот тебе домашнее задание, в коде есть строка:
$tp[8]=implode(',', $tp[8]);
Откуда взялась переменная $tp ?

PS. Хорошо преподам. Задают элементарный вопрос, а у студента дым с ушей идет wink

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

kronon
Юзер

kronon - 13 августа 2011 23:41 -

я не понял от куда она взялась recourse

Sander
Эксперт

Sander - 14 августа 2011 01:53 -

Гениально! Писать модуль и не знать, что откуда берется...
А вообще ты должен быть в состоянии объяснить вообще каждую строчку.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

ПафНутиЙ
Админ

ПафНутиЙ - 14 августа 2011 08:26 -

Это как раз тот случай, о котором я говорил. Не нужно никакой админки этому модулю. Объясню почему.
1. - Модуль сокращается до 1 небольшого файла.
2. - Не нужно вносить изменения в двиг - и следовательно можно спокойно его обновлять.
3. - В стопиццот раз снижается уровень гемороя при написании модуля.
P.S. Я конечно ни на что не претендую, но всёже - взгляни на этот модуль настроек гораздо больше, а админки нет, так же как и шаблона, потому что они не нужны.

Каков вопрос - таков и ответ. Просто помните об этом.

Sander
Эксперт

Sander - 14 августа 2011 13:19 -

Такой метод написания хорош только для мини-модов. Когда передается более 10 параметров, управления таким модулем проблематично, невозможно запомнить все параметры.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

kronon
Юзер

kronon - 14 августа 2011 11:27 -

для начала я лучше php выучу )))))

я думал что у меня получиться разобраться, а оно вон как получается recourse

ПафНутиЙ
Админ

ПафНутиЙ - 14 августа 2011 12:18 -

Ничего страшного, главное - желание, а остальное - дело времени smile

Каков вопрос - таков и ответ. Просто помните об этом.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх