-
Публикации
85 -
Зарегистрирован
-
Посещение
-
Дней в лидерах
10
Сообщения, опубликованные пользователем dimitron
-
-
Если реально мой код комуто подошол я не буду прям настаивать на какойто цене 😉
Рекизиты: WebMoney Z180611042436
- 1
-
2 минуты назад, ermilov сказал:
Хотелось бы иметь такую настройку: Отправлять в вебмастер только после публикации на сайте.
Сейчас в вебмастер отправляется даже если не опубликовали на сайте. У нас при работа над статьей вносятся изменения и соответственно опубликованная статья уже может отличаться от той, которая еще редактируется. Перед публикацией статьи проверяются редактором, корректором, а уже потом только публикуется. Но галочку по умолчанию не хочется снимать, что бы не забивали про неё.
учту в новой версии плагина
-
Соглашусь, но приходиться создавать ленту подгоняя под нужный вид (и нужно знать как правильно сформировать RSS тело новости что бы ВК правильно подтянул), а для рядового пользователя это геморой. И через "RSS импорт новостей" в DLE там скорее всего не получиться подтянуть скрины и видос с доп полей. Моя же цель сделать удобный и простой в настройке плагин.
Я канечно не замарачивался импортом RSS в ВК, могу ошибаться, там только обычные ссылки и обычный текст импортируеться. Я же даю пользователю больше возможностей, прикрепить скрины указав с какого доп.поля их брать, а также прикрепить видос тоже указав с какого доп.поля брать. Также пользователь сам легко и быстро может сделать свой шаблон текста который будет публиковаться на стене группы.
+ Возможность запланировать публикацию записи
+ Возможность выбора публиковать сейчас или нет
Вот скрины плагина:
1) при редактировании/добавлении новости в админке сайта
2) настройки плагна
-
20 минут назад, webair сказал:
Почему?
Некто не реагирует )
-
Печально что такой плагин уже не актуален, в пустую время потратил 😉
Если хотите видить в плагине что то новое пишите сюда или на сайте в коменты.
-
Немного поправил код файла (engine/modules/teleport/functions.php).
ВНИМАНИЕ!!! тестировал на версии dle 14.0. И этот хак работает только для кастомного тега {customcomments}
<?php //Формируем дерево коментов function buildTree(array &$elements, $parent = 0) { $branch = array(); foreach ($elements as $element) { if ($element['parent'] == $parent) { $children = buildTree($elements, $element['id']); if (!empty($children)) { $element['children'] = $children; } $branch[$element['id']] = $element; unset($elements[$element['id']]); } } return $branch; } //Вытягиваем ID комментов которые относятся к комменту function getIdComments($str, $array) { if (!empty($array['children'])) { foreach ($array['children'] as $value) { $str .= getIdComments(','.$value['id'], $value); } } return $str; } function getFullLink($post) { global $db, $config; //Вытягиваем все комменты новости $sql_comments = $db->query("SELECT * FROM " . PREFIX . "_comments WHERE post_id='{$post['post_id']}' "); $list_comments = []; while ($row = $db->get_row($sql_comments)) { $list_comments[$row['id']] = $row; } $list_comments = buildTree($list_comments); //вытаскиваем все ID $comments_ids = []; foreach ($list_comments as $value) { $comments_ids[] = getIdComments($value['id'], $value); } //Формируем id комментов по страницам $count_com = $config['comm_nummers']; $count_coms = count($list_comments); $pages = @ceil($count_coms / $count_com); $pages_ = []; for ($i = 1; $i <= $pages; $i++) { $count = 1; foreach ($comments_ids as $key => $value) { $pages_[$i][] = $value; unset($comments_ids[$key]); if ($count == $count_com) break; $count++; } $pages_[$i] = explode(',', implode(',', $pages_[$i])); } //Определяем на какой странице находиться комментарий $page_num = null; if(count($pages_) > 1) { foreach ($pages_ as $key => $value) { if (in_array($post['id'], $value)) { $page_num = $key; break; } } } //Генерируем ссылку на телепорт к коменту $teleport = !empty($page_num) ? "page,1,{$page_num}," : ""; $teleport_c = !empty($page_num) ? "cstart={$page_num}&" : ""; $teleport_ = "#comment-id-{$post['id']}"; if ($config['allow_alt_url']) { if ($config['seo_type'] == 1 or $config['seo_type'] == 2) { if ($row['category'] and $config['seo_type'] == 2) { $full_link = $config['http_home_url'] . get_url($post['category']) . "/{$teleport}" . $post['post_id'] . "-" . $post['alt_name'] . ".html{$teleport_}"; } else { $full_link = $config['http_home_url'] . $teleport . $post['post_id'] . "-" . $post['alt_name'] . ".html{$teleport_}"; } } else { $full_link = $config['http_home_url'] . date('Y/m/d/', $post['newsdate']) . $teleport . $post['alt_name'] . ".html{$teleport_}"; } } else { $full_link = $config['http_home_url'] . "index.php?{$teleport_c}newsid=" . $post['post_id'] . $teleport_; } return $full_link; }
- 1
-
Сделал телепорт к нужному коменту. Только к каждому коменту дополнительный запрос в БД используеться.
Нужно сделать следующее:
1) создать файл engine/modules/teleport/functions.php код файла:
<?php //Формируем дерево коментов function buildTree(array &$elements, $parent = 0) { $branch = array(); foreach ($elements as $element) { if ($element['parent'] == $parent) { $children = buildTree($elements, $element['id']); if (!empty($children)) { $element['children'] = $children; } $branch[$element['id']] = $element; unset($elements[$element['id']]); } } return $branch; } //Вытягиваем ID комментов которые относятся к комменту function getIdComments($str, $array) { if (!empty($array['children'])) { foreach ($array['children'] as $value) { $str .= getIdComments(','.$value['id'], $value); } } return $str; } function getFullLink($post) { global $db, $config; //Вытягиваем все комменты новости $sql_comments = $db->query("SELECT * FROM " . PREFIX . "_comments WHERE post_id='{$post['post_id']}' "); $list_comments = []; while ($row = $db->get_row($sql_comments)) { $list_comments[$row['id']] = $row; } $list_comments = buildTree($list_comments); //вытаскиваем все ID $comments_ids = []; foreach ($list_comments as $value) { $comments_ids[] = getIdComments($value['id'], $value); } //Формируем id комментов по страницам $count_com = 2; $count_coms = count($list_comments); $pages = @ceil($count_coms / $count_com); $pages_ = []; for ($i = 1; $i <= $pages; $i++) { $count = 1; foreach ($comments_ids as $key => $value) { $pages_[$i][] = $value; unset($comments_ids[$key]); if ($count == $count_com) break; $count++; } $pages_[$i] = explode(',', implode(',', $pages_[$i])); } //Определяем на какой странице находиться комментарий $page_num = null; foreach ($pages_ as $key => $value) { if (in_array($post['id'], $value)) { $page_num = $key; break; } } //Генерируем ссылку на телепорт к коменту $teleport = !empty($page_num) ? "page,1,{$page_num}," : ""; $teleport_c = !empty($page_num) ? "cstart={$page_num}&" : ""; $teleport_ = !empty($page_num) ? "#comment-id-{$post['id']}" : ""; if ($config['allow_alt_url']) { if ($config['seo_type'] == 1 or $config['seo_type'] == 2) { if ($row['category'] and $config['seo_type'] == 2) { $full_link = $config['http_home_url'] . get_url($post['category']) . "/{$teleport}" . $post['post_id'] . "-" . $post['alt_name'] . ".html{$teleport_}"; } else { $full_link = $config['http_home_url'] . $teleport . $post['post_id'] . "-" . $post['alt_name'] . ".html{$teleport_}"; } } else { $full_link = $config['http_home_url'] . date('Y/m/d/', $post['newsdate']) . $teleport . $post['alt_name'] . ".html{$teleport_}"; } } else { $full_link = $config['http_home_url'] . "index.php?{$teleport_c}newsid=" . $post['post_id'] . $teleport_; } return $full_link; }
2) В файле engine/modules/functions.php найти:
if (!function_exists('password_hash')) {
добавить выше
include (ENGINE_DIR . '/modules/teleport/functions.php');
3) В файле engine/classes/comments.class.php найти:
$tpl->set( '{news-link}', $full_link."#comment" );
заменить на
$tpl->set( '{news-link}', getFullLink($row) );
Вот в принцепе и все. Проверил, работает на всех типах ЧПУ.
Тестировал на CMS DLE 14.0
- 1
-
В 04.05.2020 в 12:19, NlCKRUS сказал:
Нужно, чтобы форма быстрого поиска (не расширенная форма) выполняла поиск в определенных категориях. Нужно, чтобы перечень категорий для поиска я задавал сам.
Грубо говоря, форма поиска будет установлена во всех категориях. Нужно, чтобы поиск работал только по той категории (и во всех подкатегориях) в который установлена форма поиска.
Нужное поле можно передать и через скрытое HTML поле. Но не знаю как.
<input type="hidden" name="catlist[]" value="16" />
не работает.
Да это не поможет, быстрый поиск (вот та выпадалка что найдено) реализован AJAX (engine/ajax/search.php) и обычное добавление в форму скрытого инпута с нужной категорией не поможет.
Как это можно решить?
1) в файле engine/classes/js/dle_js.js нужно немного пеработать функцию dle_do_search (нужно туда добавить параметр на какой мы сейчас категории) что бы мы понимали где мы находимся.
2) в файле engine/ajax/search.php нужно написать логику какие категории должны участвовать в быстром поиске (для настроек можно использовать масив данных) для категори на которой мы находимся
Если вам нужно реализовать такое, пишите в ЛС
-
-
9 часов назад, sergan747 сказал:
День добрый! К своему удивлению не нашёл ни одного запроса на интеграцию DLE с Integromat/Zapier. На сколько это возможно и трудоёмко? Интересует в первую очередь постинг новостей.
Если у них имееться API то вполне можно такой плагин написать.
-
Приветствую форумчане, вот решил показать плагин, который позволит легко и быстро публиковать на стене группы новости со своего сайта. На скрине выше я показал, как примерно это выглядит на стене группы.
Возможности плагина:
- Подключение приложения ВК к плагину;
- Настройки картинок, прикрепляемых к записи;
- Настройки видео, прикрепляемых к записи;
- Дополнительные настройки (Публиковать от имени группы, Источник и т.д.);
- Шаблон текста записи при отправки на стену группы;
- На странице добавить/редактировать новость выводиться блок от плагина;
- Возможность отложить запись на выбранную дату и время.
Плагин вы найдете по ссылке: https://lebid.pro/plugins/dle/8-post-to-vk.html
-
Здравствуйте, могу помочь. Да нужно использовать ajax. А чем плохо страница /addnews.html?
-
В 10.04.2020 в 13:01, webair сказал:
ajax, js.
Сделает ли кто то бесплатно, не знаю)
Поддерживаю.
-
В 12.04.2020 в 16:15, ITsochi сказал:
Подскажите может есть уже готовое решение или кто может разработать под 14 версию удобный раздел под размещение объектов недвижимости?
Здравствуйте, нужно более подробно расписать задачу каким образом и в каом виде хотите размещать такие обьекты недвижимости.
-
Здравствуйте, напишу инструкцию а вы просто плагином это сделайте:
1) Открыть файл engine\modules\register.php
2) Найти строку
$db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip, hash) VALUES ('{$name}', '{$regpassword}', '{$email}', '{$add_time}', '{$add_time}', '{$config['reg_group']}', '', '', '', '', '{$_IP}', '{$hash}')" );
3) Заменить на
$db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip, hash, news_subscribe, comments_reply_subscribe) VALUES ('{$name}', '{$regpassword}', '{$email}', '{$add_time}', '{$add_time}', '{$config['reg_group']}', '', '', '', '', '{$_IP}', '{$hash}', '1', '1')" );
- 1
-
1 час назад, germanydletest сказал:
Плагин весь зашифрован или частично?
весь зашифрован
-
Сори, но это прям ужасно. Да 2020 год на дворе и тут такое. Не нравиться!
-
неплохо, даже очень неплохо
-
Приношу извенение, скорее всего произошло недопонимание в таблице цен. При покупки плагина вы дополнительно получаете бесплатную поддержку и обновление плагина на ГОД. По старой информации кто-то скорее всего поняли что нужно будет платить за плагин в обязательном порядке каждый год - НЕТ.
- 1
-
10 часов назад, Slavchik.ru сказал:
не лопни от жадности 🤣
Каждый выберает продукт по своей возможности. Мне очень жаль что для вас это очень дорого.
-
Здравствуйте разработал плагин Menu builder v.1.0 для вывода меню на сайте как у WP.
Возможности плагина:
- Создание глубоких вложений меню (удобный конструктор).
-
Создание необходимого меню с использованием четырех типов ссылок:
- новости;
- категории;
- статические страницы;
- произвольные ссылки. - Вывод количества новостей в пункте меню «Категория».
- Содержание необходимой документации к плагину.
- Доступ к настройкам каждого пункта меню.
- Подключение своего шаблона к каждому меню для отображения его на сайте.
- Отправка одним кликом шорткода меню в буфер обмена (для его копирования).
- Управление (вкл/выкл) кешированием меню и его отображение на сайте.
- Использование плагина Multi-Languagex (при необходимости).
Плагин найдете по ссылке: https://lebid.pro/plugins/dle/6-menu-builder.html
- 1
-
16 минут назад, alex32 сказал:
Чувак, я тебя поздравляю. ты только что изобрел велосипед
[news=1,2,3] текст [/news]
Выводят заключенный в них текст, если посетитель просматривает полную новость указанных в параметре тега новостей, где 1,2,3 это ID новостей.
[not-news=1,2,3] текст [/not-news]
Выводит текст на любых других страницах кроме просмотра указанных в теге новостей.
Хм, а я ищу ищу, я не там смотрел получаеться в документации 🙂 Велосипеды тоже полезно создавать.
-
Здравствуйте, мне нужно был тег который выводит текст если мы находимся на определенной новости. И этот тег должен работать глобально по всему сайту. Это мне нужно для меню на сайте, что бы подсветить его.
Можно сделать плагином, я тут выложу код, а тот кто в теме сможет сделать плагином.
Открыть файл engine/modules/functions.php
Найти строку:
function check_category( $matches=array() ) {
Добавить выше:
function check_post($matches=array()) { $block = $matches[3]; $newsid = !empty($_GET['newsid']) ? $_GET['newsid'] : 0; $temp_array = array(); $matches[2] = str_replace(" ", "", $matches[2] ); $matches[2] = explode (',', $matches[2]); foreach ($matches[2] as $value) { if( count(explode('-', $value)) == 2 ) $temp_array[] = get_mass_cats($value); else $temp_array[] = intval($value); } $temp_array = implode(',', $temp_array); if ($matches[1] == "post") $action = true; else $action = false; $cats = explode( ',', $temp_array ); $found = false; if ($action) { if (in_array($newsid, $cats)) { return $block; } } else { if (in_array($newsid, $cats)) { $found = true; } } if (!$action AND !$found) { return $block; } return ""; }
Открыть файл engine/classes/templates.class.php
Найти строку
if (strpos ( $this->template, "[group=" ) !== false OR strpos ( $this->template, "[not-group=" ) !== false) {
Добавить выше
if (stripos ( $this->template, "[post=" ) !== false) { $this->template = preg_replace_callback ( "#\\[(post)=(.+?)\\](.*?)\\[/post\\]#is", "check_post", $this->template ); } if (stripos ( $this->template, "[not-post=" ) !== false) { $this->template = preg_replace_callback ( "#\\[(not-post)=(.+?)\\](.*?)\\[/not-post\\]#is", "check_post", $this->template ); }
Вот в принцепе и все. Надеюсь разработчики CMS DLE добавят этот тег в новых update движка!
-
В 31.10.2019 в 14:09, celsoft сказал:
Ну и конечно же не стоит забывать читать документацию, в которой написано что при установке плагина выполняется два действия, а именно и установка и включение, и если запрос и там и там то будет дублирование запроса.
тогда запрос на добавление плагина в БД нам нужно только указывать при включении, при установки как я понял этот запрос не нужен?
Плагин Post to VK (публиковать на стену группы в ВК)
в Готовые Моды, Хаки, Локализаторы, Советы
Опубликовано: · Изменено пользователем dimitron
В планах плагин поддерживать и развивать если он комуто будет нужен. Если хотите с открытым кодом он в разы будет дороже. Этот плагин я писал 2 года назад и до сих пор работает ВК не часто так вносит какието корективы в API.