Перейти к публикации

Рекомендованные сообщения

Делаю сайт для небольшой компании и возникла необходимость опубликовывать их вакансии на сайте. Я так понимаю что для этого нужно написать модуль. Проблема в том что не знаю с чего начать этот модуль. PHP и SQL знаю дайте направление для работы

Ссылка на сообщение
Поделиться на других сайтах

Дня начало доки посмотреть

https://dle-news.ru/extras/online/index.html?modules_include.html

 

Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, MSK сказал:

Дня начало доки посмотреть

https://dle-news.ru/extras/online/index.html?modules_include.html

 

Как например запросить из базы что то?

Ссылка на сообщение
Поделиться на других сайтах

https://github.com/dle-modules/DLE-StarterKit
https://tcse-cms.com/works/1035-plugin-dle13.html

22 минуты назад, AnteFil сказал:

Как например запросить из базы что то?

для этого есть класс db, находится в engine/classes/ файл  mysql.php, там можно посмотреть методы.


Примеры запросов можно посмотреть практически в любом файле в папке engine/modules/ или в файле engine/engine.php


И еще надо выполнять правила форума.

Цитата

Внимание !!!

На данном форуме существуют достаточно жесткие правила, поэтому прежде чем создавать свою тему убедитесь, что вы внимательно их прочитали и поняли.

 

1. Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку, или вы не хотите публиковать открытой ссылки на ваш сайт, то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь платной версией скрипта и обладаете лицензией на скрипт. Если вы пользуетесь демоверсией, то вам необходимо разместить сайт в сети интернет, и только потом обращаться за помощью. По находящимся на локальных компьютерах демоверсиям никакой помощи и поддержки на форуме не оказывается. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован.

 

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, alex32 сказал:

https://github.com/dle-modules/DLE-StarterKit
https://tcse-cms.com/works/1035-plugin-dle13.html

для этого есть класс db, находится в engine/classes/ файл  mysql.php, там можно посмотреть методы.


Примеры запросов можно посмотреть практически в любом файле в папке engine/modules/ или в файле engine/engine.php


И еще надо выполнять правила форума.

 

У меня нет сейчас сайтов я демку скачал и на денвер поставил что бы попробовать написать модуль, если не получиться значит другой какой то движок буду смотреть!

Я сейчас в админке поставил модуль как по техничке http://site.ru/admin.php?mod=mymod выглядит всё красиво! Теперь я хочу по нажатию кнопки выполнить некие действия, а именно запросить данные, обработать их и отправить в базу. Если бы это был не движок DLE я бы это сделал так поставил кнопку и например при помощи конструкции <form><input type="submit" value="Отправить" formaction="obrabotchik.php" formmethod="get"></form> начал выполняться нужный мне алгоритм, тем временем пользователя редиректом куда то отправил.

Как на DLE это выполнить?

Изменено пользователем AnteFil
Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, AnteFil сказал:

я бы это сделал так поставил кнопку и например при помощи конструкции <form><input type="submit" value="Отправить" formaction="obrabotchik.php" formmethod="get"></form> начал выполняться нужный мне алгоритм, тем временем пользователя редиректом куда то отправил.

Как на DLE это выполнить?

так и выполняй. только что это за чудо-атрибуты formaction, formmethod? action знаю, method тоже, а таких не знаю

 

Ссылка на сообщение
Поделиться на других сайтах
16 минут назад, alex32 сказал:

так и выполняй. только что это за чудо-атрибуты formaction, formmethod? action знаю, method тоже, а таких не знаю

 

Почему то в двух местах файлы лежат engine\inc и engine\modules  я правильно понял что файлы engine\inc используються больше как каркас или дизайн а в engine\modules лежит весь функционал??

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, AnteFil сказал:

я демку скачал и на денвер поставил

 

3 часа назад, AnteFil сказал:

Почему то в двух местах файлы лежат engine\inc и engine\modules  я правильно понял что файлы engine\inc используються больше как каркас или дизайн а в engine\modules лежит весь функционал??

А как Вы могли это понять, если в демо версии все файлы (кроме шаблонов) зашифрованы?

Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, germanydletest сказал:

 

А как Вы могли это понять, если в демо версии все файлы (кроме шаблонов) зашифрованы?

Есть документация и поисковик, а что вы знали названия файлов не шифруются только код в них, а код мне не нужен ибо сам его пишу

Ссылка на сообщение
Поделиться на других сайтах

Как отправить данные в модуль.php со стороны пользователя ?

Со стороны админа я сделал так action="?mod=mymod&action=start" method="POST" ловил уже GET что бы страничка не переоткрывыалась. В итоге адрес был http://test1.ru/admin.php?mod=mymod&action=start для активации нужных функций (как то не совсем безопасно но пофиг) Как реализовать нечто подобное с клиенской стороны??? Как отправить в мой модуль данные? Который в engine\modules

Тут наверно вопрос может перефразировать как создать страничку для этого модуля?

 

Всё разобрался!

Изменено пользователем AnteFil
Ссылка на сообщение
Поделиться на других сайтах

Нагуглил тут https://dle-faq.ru/faq/phpquest/21618-v-chem-raznica-mezhdu-query-i-superquery.html что для работы с базой есть функции.

Например get_row(); должен вернуть весь массив выборки. У меня почему то возвращает только одну строчку

Ссылка на сообщение
Поделиться на других сайтах
22 минуты назад, AnteFil сказал:

Например get_row(); должен вернуть весь массив выборки. У меня почему то возвращает только одну строчку

Это же логично, раз что-то работает не так, значит где-то  написано не так. А как написано, нам отсюда не видно

Ссылка на сообщение
Поделиться на других сайтах
31 минуту назад, alex32 сказал:

Это же логично, раз что-то работает не так, значит где-то  написано не так. А как написано, нам отсюда не видно

if (!empty($_POST['action'])) {
	$db->query( "SELECT * FROM " . PREFIX . "_mod_job WHERE address LIKE '%".$_POST['action']."%'");
	$row = $db->get_row();
	print_r($row);
   
   
}

Ни чё такого 

Я подумал может тут реализована схема как PDO типа fetch и fetch_all попробовал get_row_all но такой нет и упала ошибка

Изменено пользователем AnteFil
Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, AnteFil сказал:

if (!empty($_POST['action'])) {
	$db->query( "SELECT * FROM " . PREFIX . "_mod_job WHERE address LIKE '%".$_POST['action']."%'");
	$row = $db->get_row();
	print_r($row);
   
   
}

Ни чё такого 

if (!empty($_POST['action'])) {
    $sql = $db->query( "SELECT * FROM " . PREFIX . "_mod_job WHERE address LIKE '%" . $db->safesql($_POST['action']) . "%'");
    while ($row = $db->get_row($sql)) {
        print_r($row);
    }
}

В первую очередь вам нужно прочесть о 

1. PHP.

2. Базы данных.

3. Безопасности данных.

И лишь тогда пытаться что-то писать.

Ссылка на сообщение
Поделиться на других сайтах

del

Изменено пользователем alex32
Gameer опередил :)
Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, Gameer сказал:

if (!empty($_POST['action'])) {
    $sql = $db->query( "SELECT * FROM " . PREFIX . "_mod_job WHERE address LIKE '%" . $db->safesql($_POST['action']) . "%'");
    while ($row = $db->get_row($sql)) {
        print_r($row);
    }
}

В первую очередь вам нужно прочесть о 

1. PHP.

2. Базы данных.

3. Безопасности данных.

И лишь тогда пытаться что-то писать.

Поясни пожалуйста функцию safesql что она делает? И дальнейшую логику ! Почему например я могу получать весь результат только в цикле?

Изменено пользователем AnteFil
Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, AnteFil сказал:

Поясни пожалуйста функцию safesql что она делает? И дальнейшую логику ! Почему например я могу получать весь результат только в цикле?

$row = $db->super_query( "SELECT * FROM " . PREFIX . "_mod_job WHERE address LIKE '%" . $db->safesql($_POST['action']) . "%'", true);
print_r($row);

Делает mysqli_real_escape_string.

Можете, изучайте содержимое класса а так же функции которые в нем есть.

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Gameer сказал:

изучайте содержимое класса

для этого демка не подойдёт, лицензию брать надо)))

Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, germanydletest сказал:

для этого демка не подойдёт, лицензию брать надо)))

Да в принцепе половину модуля уже написал. Щас только допинать и попытаться оформить. 

Ссылка на сообщение
Поделиться на других сайтах
В 10.06.2020 в 19:14, Gameer сказал:

if (!empty($_POST['action'])) {
    $sql = $db->query( "SELECT * FROM " . PREFIX . "_mod_job WHERE address LIKE '%" . $db->safesql($_POST['action']) . "%'");
    while ($row = $db->get_row($sql)) {
        print_r($row);
    }
}

 

Подскажите, я вот получил результаты запроса! Теперь хочу оформить это. Сделать шаблон что бы каждая выводимая строчка имела какой то дизайн. Не хочу это делать в коде. Можно ли как то в цикле вызвать шаблон и отдать в него результат запроса для вывода пользователю что бы результат был как на поисковике типа яндекс или гугл ?

Изменено пользователем AnteFil
Ссылка на сообщение
Поделиться на других сайтах

Даже удивительно, что человек, пишущий модуль, совсем не может пользоваться поисковиками

https://pafnuty.name/statyi/144-make-a-module.html

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, alex32 сказал:

Даже удивительно, что человек, пишущий модуль, совсем не может пользоваться поисковиками

https://pafnuty.name/statyi/144-make-a-module.html

Нечто подобное я читал для проверки написал вот такую конструкцию шаблон в main.tpl подключил так {include file="1.tpl"}

//поясню как я понял логику
$tpl->load_template( '1.tpl' ); //подключаем шаблон
$text = 'Проверка шаблона'; //передаём даныне в переменную
$tpl->set('{test}', $text); //передаём даныне в шаблон
$tpl->compile('content'); //чё делает это не понял
$tpl->result['content']; //вот этот элемент массива получилось вывести на печать в php
$tpl->clear();//чё делает это не понял догадываюсь что закрывает подключение к шаблону
//Но ни чего не получаеться в 1.tpl выводит пустой {test}
//Сразу покажу как я пытался это в прикрутить
$tpl->load_template( '1.tpl' );
while ($row = $db->get_row($sql)) {
       $tpl->set('{test}', $row['salary']);
	   
    }
$tpl->clear();
//Но ни чего не получаеться в 1.tpl выводит пустой {test}

 

Изменено пользователем AnteFil
Ссылка на сообщение
Поделиться на других сайтах

Всё с этим вроде разобрался ))))) Ещё такой вопрос у меня страничка http://test1.ru/index.php?do=rab сейчас работает так как нужно но после работы модуля загружается контент с новостями DLE добро пожаловать и тд. Если я удаляю из main.tpl  {content} то он перестаёт на других страничках грузиться, Как сделать так что бы на мой страничке {content} не загружался, а на других работал?

Изменено пользователем AnteFil
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...