Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Хаки Как привязать дополнительные поля к новости?

Как привязать дополнительные поля к новости?


     06.09.2015    Хаки    823

вопрос
Доброе время суток
Появилась необходимость сделать привязку дополнительных полей не к категории, а к определенной новости (требуется только в админке), как можно это реализовать?
Пока пытаюсь сам, через дублирование поля категории + правка под новости, но пока только попытки
Заранее благодарен

Ответа пока нет


Комментарии пользователей (10)

Gameer
224

1118 | 394

Gameer - 6 сентября 2015 17:48 - Эксперт

А как быть с теми новостями с которыми нету и они будут и доп поле нужно для этой новости ?

Истина в противоречии.​

joydo
4

171 | 31

joydo - 6 сентября 2015 17:50 - Юзер

Gameer,
Мне нужны эти дополнительные поля только для 2 новостей, создавать для них категорию, категорически не нужно (краткая новость и т.д также не нужна)

Proff
1

126 | 28

Proff - 6 сентября 2015 18:27 - Юзер

Вы бы лучше цель написали, чего добиться хотите. Новости выводится с этими допполями вообще будут?
Может можно обойтись [news=1,2,3] текст [/news] ?

joydo
4

171 | 31

joydo - 6 сентября 2015 18:28 - Юзер

Proff,
Нужно чтобы в админке при добавление (в определенных новостях) они отображались

Proff
1

126 | 28

Proff - 6 сентября 2015 18:33 - Юзер

Т.е. эти новости есть, они уже имеют свой ID?
Тогда просто маленький хак в addnews.php через if, с сохранением значений в файл.

joydo
4

171 | 31

joydo - 6 сентября 2015 18:35 - Юзер

Proff,
Надо посмотреть, а то я рылся в доп. полях
Спасибо

Proff
1

126 | 28

Proff - 6 сентября 2015 18:50 - Юзер

т.е. editnews.php

Proff
1

126 | 28

Proff - 6 сентября 2015 19:45 - Юзер

Вот, накидал вам:
В файле engine/inc/editnews.php находим:
{$output}

ниже вставляем:
HTML;
$spisok = array (59,57);
if (in_array($row['id'], $spisok)) {
include $_SERVER['DOCUMENT_ROOT']."/engine/data/doppolya".$row['id'].".php";
echo <<<HTML
    <div class="form-group">
        <label class="control-label col-lg-2">Допполе 1</label>
        <div class="col-lg-10">
            <input type="text" style="width:100%;max-width:437px;" name="doppole1" value="{$doppole1}">
        </div>
    </div>
    <div class="form-group">
        <label class="control-label col-lg-2">Допполе 2</label>
        <div class="col-lg-10">
            <input type="text" style="width:100%;max-width:437px;" name="doppole2" value="{$doppole2}">
        </div>
    </div>
HTML;
}

echo <<<HTML

находим:
$db->free();

вставляем выше:
    if ($_POST['doppole1']) {
        $doppole1=$_POST['doppole1'];
        $doppole2=$_POST['doppole2'];
        $file = $_SERVER['DOCUMENT_ROOT']."/engine/data/doppolya".$item_db[0].".php";
        $fp = fopen($file, 'w');
        fwrite ($fp, "<?php
        \$doppole1 = \"$doppole1\";
        \$doppole2 = \"$doppole2\";
        ?>");
        fclose ($fp);
    }

joydo
4

171 | 31

joydo - 6 сентября 2015 20:38 - Юзер

include $_SERVER['DOCUMENT_ROOT']."/engine/data/doppolya".$row['id'].".php"; не могу понять, что за файл? xfields.txt - этот имели ввиду?

Proff
1

126 | 28

Proff - 6 сентября 2015 21:09 - Юзер

да нафига?
я ж говорю, для каждой новости будут создаваться свои файлы формата doppolya58.php - где 58 - id новости. и этот файл при редактировании пересохраняется.
список id-шников новостей нужных впишите в строку и все.
$spisok = array (59,57);

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

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