вопрос
Здравствуйте. Возникла следующая ситуация:
При добавлении новости я заполняю дополнительное поле test. Мне нужно, чтобы при нажатии на кнопку "Добавить" значение этого поля (если оно есть) присваивалось произвольной переменной для его обработки. Ну и затем обработанное значение заносилось в базу данных вместе с другими.
Вот пример (очень условный):
Я попытался справиться сам, пошарил в фале /engine/inc/addnews.php
Но там поля подключаются так
а в базу данных передается параметр $filecontents, который формируется в /engine/inc/xfields.php
Мне лишь нужно выразить значение конкретного поля test через $filecontents. И вот тут я в затруднении)
Надеюсь на вашу помощь)
При добавлении новости я заполняю дополнительное поле test. Мне нужно, чтобы при нажатии на кнопку "Добавить" значение этого поля (если оно есть) присваивалось произвольной переменной для его обработки. Ну и затем обработанное значение заносилось в базу данных вместе с другими.
Вот пример (очень условный):
- Значение поля 10
- $first = 10
- $second = 5 * $first
- $second отправляется в dle_post вместе с остальными параметрами
Я попытался справиться сам, пошарил в фале /engine/inc/addnews.php
Но там поля подключаются так
include (ENGINE_DIR . '/inc/xfields.php');
а в базу данных передается параметр $filecontents, который формируется в /engine/inc/xfields.php
Мне лишь нужно выразить значение конкретного поля test через $filecontents. И вот тут я в затруднении)
Надеюсь на вашу помощь)
Как по мне, то проще создать добавить поле в БД и форму, чем лезть в доп. поля. Я делал бы так:
Открыть addnews.php и найти строку:
после нее вставить:
далее найти:
после вставить:
далее найти:
после вставить:
далее, в этой же строке, найти:
после вставить:
далее найти:
после вставить:
далее найти:
после вставить:
Затем добавить поле в dle_post:
Таким образом, в поле test таблицы dle_post, будет записываться значение test умноженного на два.
Также можно записать оригинальное значение поля $test в БД, а на выходе, например в shortstory.tpl, получить результат произведения. Для этого открываем engine.php, находим все:
и заменяем на:
Далее открываем show.short.php и находим:
после добавляем:
В шаблоне используем {test}.
П.С. Если как-то не так понял вас - обращайтесь. Можно в скайп.
Открыть addnews.php и найти строку:
$alt_name = trim( $parse->process( stripslashes( $_POST['alt_name'] ) ) );
после нее вставить:
$test = intval( str_replace("-", "", $_POST['test'] ) );
далее найти:
set title='$title',
после вставить:
test='$test',
далее найти:
full_story, xfields, title, keywords,
после вставить:
test,
далее, в этой же строке, найти:
'$filecontents', '$title', '',
после вставить:
'$test',
далее найти:
$tpl->set( '{alt-name}', $row['alt_name'] );
после вставить:
$tpl->set( '{test}', intval( $row['test'] ) );
далее найти:
$tpl->set( '{alt-name}', '' );
после вставить:
$tpl->set( '{test}', '' );
Затем добавить поле в dle_post:
ALTER TABLE `dle_post` ADD `test` int(11) NOT NULL
Таким образом, в поле test таблицы dle_post, будет записываться значение test умноженного на два.
Также можно записать оригинальное значение поля $test в БД, а на выходе, например в shortstory.tpl, получить результат произведения. Для этого открываем engine.php, находим все:
p.title, p.category, p.alt_name,
и заменяем на:
p.title, p.category, p.alt_name, p.test,
Далее открываем show.short.php и находим:
$tpl->set( '{login}', $row['autor'] );
после добавляем:
if( $row['test'] ) {
$testval = $row['test'];
$test = $testval * 2;
$tpl->set( '{test}', $test );
}
В шаблоне используем {test}.
П.С. Если как-то не так понял вас - обращайтесь. Можно в скайп.