Чтение RSS каналов

Форум

Открыть Ответить

В зависимости от выбранной категории отображать или не отображать поля в news

0

0
1
08.11.2008 19:02:0208.11.2008 19:02:32
Как сделать, чтоб в зависимости от выбранной категории отображались или не отображались определенные поля при добавлении новости в модуле news.

Смысл вот какой. Название категорий мы знаем. Допустим есть категория Фильмы и Игры. Мы из выпадающего списка выбираем категорию "Фильмы" и надо чтобы определнные поля отобразились, а другие скрылись.

например:
вот код из modules\news\index.php
function add()

."<div class=\"left\">"._CATEGORY.":</div><div class=\"center\"><S_elect name=\"catid\" class=\"".$conf['style']."\">".getcat($conf['name'], $catid)."</S_elect></div>"

эта строчка отвечает за выбор категории.

а дальше надо как-то сделать проверку.
Если название выбранной категории Фильмы тогда
."<div class=\"left\">Год:</div><div class=\"center\"><S_elect name=\"year\" class=\"".$conf['style']."\">";

отображаем поле год.

если название выбранной категории Игры тогда
."<div class=\"left\">Жанр:</div><div class=\"center\"><S_elect name=\"zhanr\" class=\"".$conf['style']."\">";

тогда отображаем поле жанр.

т.е в зависимости от категории какие-то поля отображаются, а какие-то исчезают.

Все это должно распространяться и на подкатегории.

Реально такое сотворить?


Версия системы: Open SLAED 1.*
3.65

3.65
2
08.11.2008 21:06:4308.11.2008 21:17:59
Если первый вариант сложный я еще по другому придумал: По нажатии на ссылку добавить просят выбрать что именно необходимо добавить. ставим например фильмы, тогда в переменную $a присваивается 1 и происходит переход на функцию add();, а там уже проверяется если в переменной $a единица тогда то-то.

Начал делать нечто подобное , но нужна ваша помощь. И так
в function menu($logo)
изменил ссылку:

$add = ((is_user() && $confn['add'] == 1) || (!is_user() && $confn['addquest'] == 1)) ? "<a href=\"index.php?name=".$conf['name']."&op=addlist\" title=\""._ADD."\">"._ADD."</a>" : "";


добавил функцию addlist:

function addlist() {
	global $prefix, $db, $user, $conf, $confn, $confu, $pagetitle, $stop;
	if ((is_user() && $confn['add'] == 1) || (!is_user() && $confn['addquest'] == 1)) {
	$pagetitle = "".$conf['defis']." "._NEWS." ".$conf['defis']." "._ADD."";
		head();
    menu(""._ADD."");
    warning("Укажите, что именно вы хотите разместить", "", "", 2);
    open();
     echo "<script
    function Button1Click() {
    if (document.getElementById(\"r1\").checked)
    document.location = 'page1.php';
    else
    document.location = 'page2.php';
    }
    </scrip>";
    echo "<form
    <input type=\"radio\" name=\"RadioButton1\" id=\"r1\" value=\"1\" checked>Видео<br>
    <input type=\"radio\" name=\"RadioButton1\" id=\"r2\" value=\"2\">Игру<br>
    <input type=\"button\" onclick=\"Button1Click()\" value=\"ClickMe\">
    </form";  
    close();
    foot();
	} else {
		Header("Location: index.php?name=".$conf['name']."");
	}
}


В конце файла добавил:

case "addlist":
	addlist();
	break;


код функции addlist я нашел примерный в инете.
он рабочий, но мне его надо немного исправить:

тут идет проверка:
    function Button1Click() {
    if (document.getElementById(\"r1\").checked)
    document.location = 'page1.php';
    else
    document.location = 'page2.php';
    }


если выбран первый radio тогда перейти на page1.php иначе на page2.php.

а мне надо сделать, что если выбран первый radio тогда $a=1 и перейти к функции add(); (т.е к добавлению новости) иначе
$a=2 и опять же перейти к функции add();. Ну а в функции add(); уже будет идти проверка на переменную $a.

как мне так сделать?

Правильно ведь я все делаю?


Версия системы: Open SLAED 1.*
3.65

3.65
3
08.11.2008 21:15:3108.11.2008 21:17:03
.....
3.65

3.65
Открыть Ответить
игрызависимостижанротображаемquotеслиnewsнадовыбраннойтогдакатегорииполяполеназваниефильмы
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь