Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Вывод ID (цифрой) категории в fullstory.tpl

Вывод ID (цифрой) категории в fullstory.tpl


     10.01.2012    стол заказов    Все вопросы » Хаки    9304

вопрос
Требуется вывести ID категории в шаблон fullstory.tpl

как это сделать? Нужен хак.

Пробовал - '{id}' => $row['category_id'],

но не вышло


Открыть файл engine/modules/show.full.php
Найти строку:
$news_find = array ('{comments-num}' => $comments_num, '{views}' => $row['news_read'], '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{news-id}' => $row['id'] );

Заменить на:
$news_find = array ('{comments-num}' => $comments_num, '{views}' => $row['news_read'], '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{news-id}' => $row['id'], '{category-id}' => intval($row['category']) );

9 комментариев

Keyv
Юзер

Keyv - 11 января 2015 05:23 -

Заменил в show.full.php и вставил в шаблон {category-id} – все работает, но можно ли теперь каким-то образом заменить в кастоме category="9" на id текущей категории? У меня меню с помощью тега custom построено.
{custom category="9" template="shortstory-more" aviable="global" navigation="no" from="0" limit="10" fixed="yes" order="date" cache="no"}

Нужно чтобы в каждой категории выводилось свое меню. При вставке {category-id} внутрь {custom category=...} ничего соответственно не работает.

luchanov
Юзер

luchanov - 12 августа 2020 23:29 -

Крутая вещь, у меня сработало в {block pro ... {category-id} ... } но выводит только первую категорию из списка. Подскажите, пожалуйста, как сделать, чтобы выводило остальные категории? Через запятую или любым другим способом.

luchanov
Юзер

luchanov - 12 августа 2020 23:31 -

Разобрался! )) Просто убрал intval! Всем добра!

luchanov
Юзер

luchanov - 13 августа 2020 03:00 -

'{category-id}' => intval($row['category']) - как можно дописать код, чтобы на выходе были все категории. но кромер 21й. (Там драма... Жанр такой. Он почти во всех фильмах, я хочу исключить его чтобы показать все категории в related кроме драмы.) Буду очень ждать,что кто то сможет. Моих знаний не хватило даже спустя 3 часа. (Пробовал implode, unset, array_search, explode - где-то что то не так делаю. но старался.) Помогите пожалуйста исключить одну категорию из массива. Думаю всем будет это полезно. Ну, и мне очень!! Получилось только в песочнице sandbox, а в движке не проходит.

Как пример:

$array = array(1, 2, 21, 22, 25);
unset($array[array_search('21', $array)]);
print_r($array);

Result:
Array
(
[0] => 1
[1] => 2
[3] => 22
[4] => 25
)

luchanov
Юзер

luchanov - 13 августа 2020 12:46 -

Помогите пожалуйста. Почему не работает вывод.

//берем все категории
$category_id = $row['category'];
//преобразуем в строку через запятую
$category_id = implode(",",$category_id);

//находим id = 21 и удаляем
$array = array($category_id);
unset($array[array_search('21', $array)]);

//преобразуем обратно строку в массив
$category_id_not_21 = explode(",", $array);

//вывожу в шаблон
$tpl->set("{category-id}",$category_id_not_21);

-----------
//сама такая строка работает - показывает в шаблоне - 2,15,8,21,6
$tpl->set("{category-id}",$row['category'];);

LazyDev
PHP-developer

LazyDev - 13 августа 2020 13:04 -

luchanov, потому-что вы сделали полнейший бред.

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

luchanov
Юзер

luchanov - 13 августа 2020 14:39 -

Ну а как же убрать ненужную категорию из массива {category-id}? ((
помогите кто знает, пожалуйста.

Flash
Эксперт

Flash - 13 августа 2020 19:03 -

Так должно сработать

if ($str = $row['category']) {
	$array = explode(",", $str);
	
	if (($key = array_search(21, $array)) !== false) {
		unset($array[$key]);
	}
	
	$str = implode(",", $array);
}

$tpl->set("{category-id}", $str);

luchanov
Юзер

luchanov - 14 августа 2020 13:48 -

Благодарю вас от Души!! Все работает. Написал в ЛС.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
[related-news]

Похожие вопросы

{related-news} [/related-news]
наверх