Хак Category-URL

Category-URL

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

Желаю сходу предотвратить, я никак не проводил кропотливого многостороннего испытания, потому ежели появятся вопросцы либо трудности — пишите в теме у меня на веб-сайте.

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

caturl

Вот этак станут смотреться гиперссылка на весть и подобранные группы:

caturl2

Установка

Выполнить запрос в БД:

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

Автор Sander

Добавить комментарий