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

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


     06.09.2015    Все вопросы » Хаки    1178

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

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


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

PunPun
Эксперт

PunPun - 6 сентября 2015 17:48 -

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

well​

joydo
Юзер

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

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

Proff
Юзер

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

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

joydo
Юзер

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

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

Proff
Юзер

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

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

joydo
Юзер

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

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

Proff
Юзер

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

т.е. editnews.php

Proff
Юзер

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
Юзер

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

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

Proff
Юзер

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

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

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

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

наверх