CMS DataLife Engine - Система управления сайтами

All Activity

This stream auto-updates     

  1. Today
  2. Делов то😀 Для начала проверяем страницы сайта "Инструменте структурных данных от googl" обнаруживаем предупреждения! Исправляем эту хрень... Открываем engine/engine.php и конце файла, после: /* ===================================================== Формирование speedbar ===================================================== */ или /* ===================================================== speedbar creation ===================================================== */ смотря на каком языке написан этот комментарий, удаляем ВЕСЬ код до конца файла. Вставляем на его место: if ($config['speedbar'] AND !$view_template ) { $s_navigation = "<span itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\"><meta itemprop=\"position\" content=\"1\"><a href=\"{$config['http_home_url']}\" itemprop=\"item\"><span itemprop=\"name\">" . $config['short_title'] . "</span></a></span>"; if( $config['start_site'] == 3 AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e = ""; if (intval($category_id)){ if($titl_e OR (isset($_GET['cstart']) AND intval($_GET['cstart']) > 1) ) { $last_link = true; } else $last_link = false; $s_navigation .= " {$config['speedbar_separator']} " . get_breadcrumbcategories ( intval($category_id), $config['speedbar_separator'], $last_link ); } elseif ($do == 'tags') { if ($config['allow_alt_url']) $s_navigation .= " {$config['speedbar_separator']} <span itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\"><meta itemprop=\"position\" content=\"2\"><a href=\"" . $config['http_home_url'] . "tags/\" itemprop=\"item\"><span itemprop=\"name\">" . $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " . $tag; else $s_navigation .= " {$config['speedbar_separator']} <span itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\"><meta itemprop=\"position\" content=\"2\"><a href=\"?do=tags\" itemprop=\"item\"><span itemprop=\"name\">" . $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " . $tag; } elseif ($nam_e) $s_navigation .= " {$config['speedbar_separator']} " . $nam_e; if ($titl_e) { $s_navigation .= " {$config['speedbar_separator']} " . $titl_e; } else { if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ){ $page_extra = " {$config['speedbar_separator']} ".$lang['news_site']." ".intval($_GET['cstart']); } else $page_extra = ''; $s_navigation .= $page_extra; } $tpl->load_template ( 'speedbar.tpl' ); $tpl->set ( '{speedbar}', '<span id="dle-speedbar" itemscope itemtype="https://schema.org/BreadcrumbList">' . stripslashes ( $s_navigation ) . '</span>' ); $tpl->compile ( 'speedbar' ); $tpl->clear (); } ?> После открываем engine/modules/functions.php находим функцию function get_breadcrumbcategories($id, $separator="&raquo;") { global $cat_info, $config, $PHP_SELF; if( ! $id ) return; $parent_id = $cat_info[$id]['parentid']; if( $config['allow_alt_url'] ) $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url( $id ) . "/\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>"; else $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$id]['alt_name']}\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>"; while ( $parent_id ) { if( $config['allow_alt_url'] ) $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "/\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list; else $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$parent_id]['alt_name']}\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list; $parent_id = $cat_info[$parent_id]['parentid']; if($parent_id) { if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break; } } return $list; } и удаляем ее полностью на ее место вставляем function get_breadcrumbcategories($id, $separator="&raquo;", $last_link = true) { global $cat_info, $config, $PHP_SELF; if( !$id ) return; $parent_id = $cat_info[$id]['parentid']; $list = $temp = array(); $pos = 2; if ($last_link) { if( $config['allow_alt_url'] ) $list[] = "<span itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\"><meta itemprop=\"position\" content=\"{pos}\"><a href=\"" . $config['http_home_url'] . get_url( $id ) . "/\" itemprop=\"item\"><span itemprop=\"name\">{$cat_info[$id]['name']}</span></a></span>"; else $list[] = "<span itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\"><meta itemprop=\"position\" content=\"{pos}\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$id]['alt_name']}\" itemprop=\"item\"><span itemprop=\"name\">{$cat_info[$id]['name']}</span></a></span>"; } else { $list[] = $cat_info[$id]['name']; } while ( $parent_id ) { if( $config['allow_alt_url'] ) $list[] = "<span itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\"><meta itemprop=\"position\" content=\"{pos}\"><a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "/\" itemprop=\"item\"><span itemprop=\"name\">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} "; else $list[] = "<span itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\"><meta itemprop=\"position\" content=\"{pos}\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$parent_id]['alt_name']}\" itemprop=\"item\"><span itemprop=\"name\">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} "; $parent_id = $cat_info[$parent_id]['parentid']; if($parent_id) { if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break; } } if(count($list)) { $list = array_reverse($list); foreach($list as $value) { $temp[] = str_replace("{pos}", $pos, $value); $pos ++; } $list = $temp; } return implode("", $list); } Проверяем в "Инструменте структурных данных от google" и убеждаемся, что теперь ошибок, а вернее, предупреждений НЕТ. После в GoogleSearchConsole отправляем на проверку, нажав кнопку "Проверить исправления".
  3. Yesterday
  4. Как приплести не приплитуемое. Браво, аплодирую стоя. Вау, тема о пожеланиях для новых версий DLE, человек высказал что хотел бы он видеть. И тут понеслась, наш уважаемый @Primary Sphinx решил все за других что нужно а что нет.
  5. Пробовал.. нашел антивирусом левый файл в папке uploads/files с расширением jpeg который не открывается как картинка, зато открывается как txt.. Подчистил, вот только не помогает это для робота проверки модерации..
  6. Пройдитесь по файлам шаблона и js-скриптам подключённым к шаблонку и смотрите где там вписан домен w3-org
  7. Добрый день, запустили рекламу в Директе и Гугле на демо версии последнего движка. Сайт https://pravosudie12.ru/ Все было в полном порядке, но через некоторое время гугл начал выводить ошибку вредоносного ПО утверждая что на сайте вирус... Получили письмо такого содержания: Ребята, помогите исправить ситуацию.. пробовал менять версию движка сайта - не помогло. Самое главное, что в серч консоли и на других проверках сайт идеален и без вирусов. Что делать - пишу от безысходности?
  8. Потерпи немного. По-любому на просторах появится хак или плагин. В крайнем случае можно из 13.3 выдрать код и попробовать его
  9. Могу вам такое создать, напишите в ЛС, обсудим цени и время работы
  10. Last week
  11. А что Вы подразумеваете под качественной реализацией из коробки, и что - под костылями? Человек захотел корзину и черновики, как в Вордпресс - пожалуйста! DLE позволяет создать и то и другое, без ЕДИНОГО костыля, штатными средствами движка! Конкретно под свои нужды! Где Вы тут костыли увидели? Мало того, позволяет настроить значительно тоньше чем в Вордпресс, с учётом многопользовательского интерфейса! Надо только чуток фантазии проявить - каким образом какие уже имеющиеся функции можно использовать. А если надо одно - точно как в Вордпресс прям из коробки, другое - как в Вордпресс, третье,.. да ещё может чтоб и шаблоны подходили тоже от Вордпресс? Тогда прямая дорога обратно в Вордпресс. DLE - качественно иной движок! В целом не хуже и не лучше, просто иной! И если в Вордпрессе для добавления какой-то функции надо или внести эту функцию в новую версию, или скачать плагин, то в DLE очень многие незадокументированные возможности решаются щелчком пальца благодаря уже имеющемуся широкому функционалу. Но тут без смекалки тяжковато, особенно тем, кто обучался по постсоветской школьной программе и привык видеть или не видеть кнопочку, а не создавать её.
  12. Этого не будет, я уже предлагал. Наотрез сказали что нет.
  13. И еще самое главное. Не нужно там всегда держать 1000 новостей, после того как яндекс добавит их в поток, опять уменьшите количество. Это накопительная система, а не одномоментная. Яндексу достаточно один раз их прочитать, потом он будет о них знать.
  14. Завязывайте пугать человека. Во первых дыра, это когда можно взломать сайт, через передачу этого параметра, взломать DLE невозможно, он проводит фильтрацию адресов, поэтому максимум что можно это передать не реальный IP, а какой то вымышленный. Но !!!! пока сайт стоит за CF и это невозможно, потому как CF пробрасывает этот заголовок заменяя сам на реальный IP, т.е. пока сайт за прокси он будет получать всегда реальный адрес, а вот если отключить CF то можно будет пробросить вымышленный, только это автор топика должен знать и все, и не забыть изменить настройку при отключении от Cloudflare. А что касается что правильно это настраивать именно серверное ПО apache и nginx, то да это верно, но обычный shared хостинг этого не дает, поэтому и есть такая настройка в DLE. Не нужно мешать человеку развиваться, придет время, у него все получится, он вырастет в посещаемости, купить себе один или десяток серверов и обойдет нас всех на повороте 😉 Так что только удачи ему 👍
  15. Спасибо за ответ, но помощь так себе ((
  16. Было бы здорово указывать версию DLE не для всего плагина, а для каждой правки отдельно. Так можно в одном плагине совмещать разные версии DLE. P.S. "Ссылка на обновление плагина" - по ссылке что должно отдаваться? Как вы определяете, что это обновление, а не тот же плагин? md5 проверяете или json ответ какой то?
  17. "Дыра, дыра". Если кто то захочет передать поддельный IP, значит этот сайт должен представлять какую то ценность, должен быть высокопосещаемым. А значит, у такого сайта есть сисадмин, который настроит сервер правильно. А если владелец хочет сам настроить, пусть читает мануалы, в интернете достаточно информации и для apache и для nginx.
  18. Было так Главная » Новости » Название новости Стало так Главная » Новости Ведь название новости есть в самой новости. Зачем писать его 2 раза. Работает на версии 13,2 плагин https://yadi.sk/d/_ercm2HcfMa-Uw
  19. Видела кучу сайтов у которых урлы какие хочешь и это не мешает им иметь миллионы трафика в месяц. Вот в нашей с вами общей кулинарной теме посмотрите сами сколько сайтов имеет другую структуру урлов - айэмкук, 1000 меню, рутекст, руссианфуд, повар.ру, поваренок,готовим.ру, едим дома, гастроном и т.д. и там трафик исчисляется миллионами в месяц. Это конечно сайты очень трастовые, но я думаю, что если бы их сеошники понимали бы что изменение урла даст профит, то они бы его поменяли. Можно оставить тему на несколько лет и посмотреть что с ними станется, поменяют ли они урлы на такие как вы пишите. Поисковики конечно толкают сервисы и технологии, сейчас они толкают турбо, амп, гугл свои сервисы типа ютуба, яндекс - типа знатоков,дзена. Всем нужна адаптивность и https Для пользователя структура урла конечно лучше ЧПУ чем абракадабра - у dle есть ЧПУ.
  20. Как обычно вместо качественной реализации из коробки, предлагаете городить костыли. Для всех ваших вопросов есть один ответ, вынести все настройки в настройки групп, и уже там разрешать кому, сколько и на какой срок можно хранить. До сих пор не решена проблема с автообновлением для разных версий DLE, а вы магазин хотите. Что бы потом люди обновляли плагины на прошлой версии DLE и получали "кирпичи" вместо сайта?
  21. Совет из разряда вредных, эта опция вообще полудыра в DLE и её использование рекомендуется разве что для каких то "очень плохих" хостингов, которые не удосужились до сих пор корректно настроить свои сервера для CF. Но лучше с таких сразу бежать, а не дырявить безопасность.
  22. Тогда уж стоит упомянуть что расширение имеют статические файлы, а DLE всё таки CMS для создания динамических сайтов, но пути новостей и статических страниц как бы намекают что это просто статичная HTML страница, так что человек в какой то мере прав. У всех CMS в основном давно уже пути выглядят как обычные "директории" и от расширений файлов уже давно отказались. Помните когда вы вводили обязательность слеша в конце адреса категории? Сколько недовольства это вызвало, хотя можно было бы оставить адреса без слеша, но вы решили сделать "правильные" адреса у директорий, по этому странно что у динамических страниц до сих пор расширение .html .
  23. Что есть? Плагины? Гугол вроде не ранжирует по крошкам, но лучше сделать, да. Разработчики предлагают покупать, разумеется.
  24. Нет, не поддерживаю пункт 2, без обид, моё мнение.
  25. Тоже пришло такое письмецо. У меня лицензионная версия 13.2 и срок окончился 26 сентября, а 13.3 вышла 30 сентября. Мне что теперь нужно покупать 13.3 , иначе Google введет свои санкции? Надеюсь кто-нибудь подскажет, как решить эту проблему, так как все попали на эти грабли. А на техподдержку я так понял можно не рассчитывать.
  26. 1) Было бы здорово в новых версиях иметь возможность массовой установки плагинов. Зачастую на сайте может быть с десяток-два мелких плагинов, каждый из которых может решать свою маленькую задачу. Переносить такое количество плагинов с сайта на сайт (локалки разработчиков, тестовый, прод и т.п. окружения) не очень удобно. 2) Было бы здорово иметь официальный "маркеплейс плагинов", куда любой желающий мог бы загрузить свой плагин, положить ссылку на репозиторий (github/gitlab/bitbucket) для автоматической установки плагина и дополнительных файлов. Ссылки на иконки плагинов хостить на маркеплейсе и так же скачивать при установке/обновлении плагинов было бы плюсом.
  27. Только если с задаваемым в настройках временем хранения черновиков. Иначе засрут БД. DLE не Вордпресс, где сам себе хозяин, это многопользовательский движок. Опять же: DLE не Вордпресс. Это многопользовательский движок. Кому разрешено отправлять в корзину и извлекать из корзины - автору статьи, админу или кому? Мало того - эти ваши хотелки дааааавным давно есть в движке! При чём в расширенном виде! Создайте категорию новостей "Корзина", определите к ней права доступа для категорий пользователей и отправляйте туда всё что душе угодно, никто не увидит! Ровно то же самое и с категорией новостей "Черновики". Сделайте такую категорию для себя и радуйтесь жизни. 😉
  1. Load more activity