Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Дополнительные поля в списке новостей в админке

Дополнительные поля в списке новостей в админке


     27.09.2011    дополнительные поля, хак    Все вопросы » Общие вопросы    5587

вопрос
Названия новостей у меня частично состоят из дополнительных полей.
Как в списке новостей в админке прикрутить дополнительные поля к названиям?

Ответил: PravkaD


Я решил данный вопрос так:
1. Находим в /engine/inc/editnews.php
	$db->query( "SELECT p.id, p.date, p.title, p.category, p.autor, p.alt_name, p.comm_num, p.approve, p.fixed, e.news_read, e.votes FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) " . $where . " ORDER BY " . $order_by . " LIMIT $start_from,$news_per_page" );

Заменяем на:
	$db->query( "SELECT p.id, p.date, xfields, p.title, p.category, p.autor, p.alt_name, p.comm_num, p.approve, p.fixed, e.news_read, e.votes FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) " . $where . " ORDER BY " . $order_by . " LIMIT $start_from,$news_per_page" );


2. Находим:
	while ( $row = $db->get_array() ) {

ниже вставляем:
	$xfieldsdata = xfieldsdataload( $row['xfields'] );

3. Находим:
	if( $config['allow_alt_url'] ) {

Ниже втавляем:
	if($xfieldsdata['название поля']) $название поля = " ({$xfieldsdata['название поля']})";

4. Находим:
	$entries .= "<a title='{$lang['edit_act']}' href=\"?mod=editnews&action=editnews&id={$row['id']}\">{$title}</a>

Заменяем на:
	$entries .= "<a title='{$lang['edit_act']}' href=\"?mod=editnews&action=editnews&id={$row['id']}\">{$title} {$название поля}</a>

Проверял на версии DLE 11.2

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

FerrumNST
Юзер

FerrumNST - 23 июля 2012 17:22 -

И где ответы????

nowheremany
Эксперт

nowheremany - 23 июля 2012 17:55 -

ой простите Нас милосердно...

Благодарность принимаю тут Связь

averin-kostya
Юзер

averin-kostya - 23 июля 2012 20:51 -

Как я понял тебе нужна эта таблица:
<table width="100%" id="newslist">
    <tr class="thead">
    <th>  {$lang['edit_title']}</th>
    <th width=80> {$lang['st_views']} </th>
    <th width=80> {$lang['edit_com']} </th>
    <th width=80 align="center">{$lang['edit_approve']}</th>
    <th width=120 align="center">{$lang['edit_cl']}</th>
    <th width=70 >{$lang['edit_autor']}</th>

Это в /engine/inc/editnews.php

Если искать дальше, то под таблицей увидишь:
{$entries}


Далее:
$entries .= "<a title='$lang[edit_act]' class=\"list\" href=\"$PHP_SELF?mod=editnews&action=editnews&id=$row[0]\">$title</a>


Попробуй тут использовать
$xfieldsdata['название поля']

FerrumNST
Юзер

FerrumNST - 1 октября 2012 18:44 -

Не работает!

qwerty666
Юзер

qwerty666 - 14 июля 2019 15:40 -

Ответ от PRAVKAD справедлив если доп. поле одно. Если формировать заголовок из нескольких полей, скажем для музыкального сайта где есть 2 категории Группы и Альбомы и поля Например group, album и year. И нужены выводы скажем по группам Только поле group, а в категории Альбомы выводить поля group album и year, то надо делать проверку на пустое значение иначе будет выводить в группах значения из предыдущих альбомов.
т.е. после
if($xfieldsdata['название поля']) $название поля = " ({$xfieldsdata['название поля']})";

вставлять
if (empty($xfieldsdata['название поля'])) $название поля = "";

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

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

наверх