Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Модуль category-url by sander

Тема в разделе "Модули DLE", создана пользователем Sander, 28 июн 2016.

28.06.16 в 10:50
07.01.17 в 16:13
3
1.825
9
  1. TopicStarter Overlay
    Sander

    Sander Новичок

    Регистрация:
    5 мар 2016
    Сообщения:
    49
    Лучших ответов:
    0
    Рейтинги:
    +103 / 0 / -0
    [​IMG]

    Как известно, в DLE при построении ссылки на полную новость (ЧПУ 2) и в спидбаре отображается та категория, которая просто идет первой в списке. Этот хак позволяет индивидуально выбирать отдельную категорию для формирования ссылки на полную новость и для отображения в спидбаре.
    Данная тема особенно актуальна для киносайтов.


    Хочу сразу предупредить, я не проводил тщательного всестороннего тестирования, поэтому если возникнут вопросы или проблемы - пишите в теме у меня на сайте.

    Работает он только на страницах админки, при добавлении и редактировании новости. Выглядит он следующим образом:
    [​IMG]


    Вот так будут выглядеть ссылка на новость и выбранные категории:
    [​IMG]


    Установка

    Выполнить запрос в БД:
    Код:
    ALTER TABLE  `dle_post` ADD  `category_url` MEDIUMINT( 8 ) NOT NULL DEFAULT  '0' AFTER  `category`;
    Открыть файл engine/inc/addnews.php
    Найти код:
    Код:
                                 <div class="form-group">
                                  <label class="control-label col-md-2">{$lang['addnews_cat']}</label>
                                  <div class="col-md-10">
                                    <select data-placeholder="{$lang['addnews_cat_sel']}" name="category[]" id="category" onchange="onCategoryChange(this)" $category_multiple style="width:100%;max-width:350px;">{$categories_list}</select>
                                  </div>
                                </div>
    После него вставить:
    Код:
                                <div class="form-group">
                                  <label class="control-label col-md-2">Основная категория</label>
                                  <div class="col-md-10">
                                    <select data-placeholder="{$lang['addnews_cat_sel']}" name="category_url" class="categoryselect" onchange="onCategoryChange(this)" style="width:350px;">{$categories_list}</select>
                                  </div>
                                 </div>

    Найти строку:
    Код:
        $category = $_POST['category'];
    После нее вставить:
    Код:
        $category_url = intval( $_POST['category_url'] );

    Найти код:
    Код:
    category,
    Заменить на
    Код:
    category, category_url,
    В этой же строке найти код:
    Код:
    '$category_list',
    Заменить на:
    Код:
    '$category_list', '$category_url',


    Открыть файл engine/inc/editnews.php
    Найти строку:
    Код:
        $categories_list = CategoryNewsSelection( $cat_list, 0 );
    После нее вставить:
    Код:
        $category_url = CategoryNewsSelection( $row['category_url'], 0 );

    Найти код:
    Код:
                                <div class="form-group">
                                  <label class="control-label col-md-2">{$lang['edit_cat']}</label>
                                  <div class="col-md-10">
                                    <select data-placeholder="{$lang['addnews_cat_sel']}" name="category[]" id="category" onchange="onCategoryChange(this)" {$category_multiple} style="width:350px;">{$categories_list}</select>
                                  </div>
                                 </div>
    После него вставить:
    Код:
                                <div class="form-group">
                                  <label class="control-label col-md-2">Основная категория</label>
                                  <div class="col-md-10">
                                    <select data-placeholder="{$lang['addnews_cat_sel']}" name="category_url" class="categoryselect" onchange="onCategoryChange(this)" style="width:350px;">{$category_url}</select>
                                  </div>
                                 </div>

    Найти строку:
    Код:
        $category = $_POST['category'];
    После нее вставить:
    Код:
        $category_url = intval( $_POST['category_url'] );

    Найти код (2шт):
    Код:
    category='$category_list',
    Заменить на:
    Код:
    category='$category_list', category_url='$category_url',


    Открыть файл engine/modules/show.full.php
    Найти строку:
    Код:
            $category_id = intval( $row['category'] );
    После нее вставить:
    Код:
            if($row['category_url']) $category_id = $row['category_url'];

    Найти строку:
    Код:
            $category_id = $row['category'];
    После нее вставить:
    Код:
            if($row['category_url']) $category_id = $row['category_url'];


    Открыть файлы engine/modules/show.short.php и engine/modules/show.custom.php
    Найти строку:
    Код:
        $row['category'] = intval( $row['category'] );
    После нее вставить:
    Код:
        if($row['category_url']) $row['category'] = $row['category_url'];


    Открыть файлы engine/engine.php и engine/modules/functions.php
    Найти все:
    Код:
    p.category,
    Заменить на:
    Код:
    p.category, p.category_url,

    Ффух, вот вроде и все.

    Версия DLE: 10.2 - 11.0

    С уважением,
    Олег Александрович a.k.a. Sander
     
    • Нравится Нравится x 9
  2. Gesser

    Команда форума VIP Кинотрафик v2

    Регистрация:
    23 ноя 2015
    Сообщения:
    320
    Лучших ответов:
    0
    Рейтинги:
    +175 / 0 / -0
    спасибо, потестим :)
     
  3. pan_oleksandr

    pan_oleksandr Посетитель

    Регистрация:
    18 фев 2016
    Сообщения:
    89
    Лучших ответов:
    1
    Рейтинги:
    +25 / 0 / -0
    Уууу круто, теперь будет 3 категории кино, сериалы, мультики.
     
  4. Narek

    Narek Новичок

    Регистрация:
    4 янв 2017
    Сообщения:
    43
    Лучших ответов:
    0
    Рейтинги:
    +6 / 0 / -0
    Не работает с хлебными крошками, dle 11.2.. В ЧПУ все правильно выводит, в хлебных крошках выводит первую. Может знает как заставить заработать?
     
    #4 Narek, 7 янв 2017
    Последнее редактирование: 7 янв 2017
    • Нравится Нравится x 1
Похожие темы
  1. Sander
    Ответов:
    54
    Просмотров:
    15.836
  2. DLEPlugins
    Ответов:
    22
    Просмотров:
    4.740
  3. Sander
    Ответов:
    8
    Просмотров:
    2.839
  4. Webster
    Ответов:
    47
    Просмотров:
    11.823
Загрузка...
Яндекс.Метрика