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

Форум

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

категории в whiteboard ???

1

1
1
24.11.2008 08:02:57
Помогите пожалуйста.
Какие изменения нужно внести в whiteboard что бы при созданных подкатегориях было невозможно добавить объявление в саму категорию (в корень)?
Заранее благодарен.

система: SLAED CMS: 2.5 Lite


Версия PHP: PHP 5
2
24.11.2008 19:59:25
Тема снята! Сам разобрался ))
PHP оказался не таким уж сложным языком, просто немног не привычным..
3
27.03.2009 04:34:54
Хорошо, что разобрался. Вот только с народам бы поделился чтобы больше вопросов таких не возникало. Мне вот тоже необходимо узнать как так сделать. Что-то я копался ничего не пойму что же надо сделать... вот код, а что надо убрать (а может даже добавить) чтобы отображались только подкатегории...


function wb_getcat($id=0) {
global $db, $prefix;
$id = intval($id);
$result = $db->sql_query("SELECT cid, title, pid FROM ".$prefix."_wb_categories");
while (list($cid2, $title, $parentid2) = $db->sql_fetchrow($result)) $massiv[$cid2] = array($title, $parentid2);
foreach ($massiv as $key => $val) {
$content[$key] = $val[0];
$flag = $val[1];
while ($flag != "0") {
$content[$key] = $massiv[$flag][0]."/".$content[$key];
$flag = $massiv[$flag][1];
}
}
asort ($content);
foreach ($content as $key => $val) {
$selected = ($id == $key) ? " selected" : "";
$categories .= "
<option value=\"$key\"".$selected.">$val</option>";
}
return $categories;
}



Может кто подскажет? Заранее спасибо.


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 5
Сервер: Локальный сервер
4
27.03.2009 10:41:59
Замени:
foreach ($massiv as $key => $val) {
$content[$key] = $val[0];
$flag = $val[1];
while ($flag != "0") {
$content[$key] = $massiv[$flag][0]."/".$content[$key];
$flag = $massiv[$flag][1];
}
}
asort ($content);


на:
  $arr = array();
  foreach ($massiv as $key => $val){
      if (sizeof($arr) == 0) {$arr[] = $val[1];} 
      else {
        $fl = false;
        for ($i=0;$i<(sizeof($arr));$i++) {
          if ($arr[$i] == $val[1]) {$fl=true;}
        }
        if ($fl == false) {$arr[] = $val[1];}
      }
  }
  foreach ($massiv as $key => $val) {
    $fl=false;
    for ($i=0;$i<sizeof($arr);$i++) {
      if ($arr[$i] == $key) {$fl=true;}
    }
    if ($fl == false){
    $content[$key] = $val[0];
      $flag = $val[1];
      while ($flag != "0") {
        $content[$key] = $massiv[$flag][0]."/".$content[$key];
        $flag = $massiv[$flag][1];
      }
    }
  }
asort ($content);

Может и коряво, но это первое что я сделал на php, зато работает ))
5
28.03.2009 07:35:30
а не проще ли было бы сделать вывод предупреждения при попытке добавить контент в родительскую категорию? :)

не заню какую версию вы тут рассматриваете, но примерно так:
function save(){
//...
//...
//...

if(!list($sub_cat) = $db->sql_fetchrow($db->sql_query("SELECT pid FROM ".$prefix."_wb_categories WHERE cid='$topic'"))) $stop = _WRONG_CAT;

//...
//...
//...
3.69

3.69
6
28.03.2009 15:29:18
Алексей, есть вопрос по модулю.
При просмотре списка категорий, возле каждой отображается кол-во объявлений. Значение это обновляется только когда зайдёшь в эту категорию. Например, объявлений там уже нет, а цифра показывает значение на момент последнего захода в категорию. Где покрутить, чтобы показывалось актуальное количество?
title


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 5
Сервер: Сервер в интернете
3.92

3.92
7
02.04.2009 13:41:14

Может и коряво, но это первое что я сделал на php, зато работает ))


Спасибо. Этот вариант решил проблему.

а не проще ли было бы сделать вывод предупреждения при попытке добавить контент в родительскую категорию? :)


Данный вариант чего-то не понял, что получится и куда вставлять.

При просмотре списка категорий, возле каждой отображается кол-во объявлений.


По мойму будет слишком большое количество запросов к базе, но может я не прав. Тоже хотелось бы услышать решение.
8
02.04.2009 19:49:41

По мойму будет слишком большое количество запросов к базе, но может я не прав. Тоже хотелось бы услышать решение.


всего один
4.03

4.03
9
03.04.2009 06:08:06

всего один


И как должен выглядеть запрос и где, можете помочь?
10
27.04.2009 07:56:4027.04.2009 08:28:26
Добрый день, господа!
Помогите решить небольшую задачку. Итак, нужно переделать функцию categories так, чтоб если человек зашёл в родительскую категорию, сверху выводился бы список входящих только в неё подкатегорий, а вот если человек зашел уже в подкатегоорию, ничего бы не выводилось.
Версия системы: 2.5
На всякий случай, выкладываю эту функцию:
function categories($id="") {
	global $prefix, $db, $module_name, $tabcolumn, $showsubkat, $multilingual, $currentlang;
	static $massiv, $massiv2;
	$id = (intval($id)) ? $id : 0;
	if ($id) {
		$where = "WHERE pid = '$id'";
	} elseif ($id && $multilingual) {
		$where = "WHERE pid = '$id' AND (language='$currentlang' OR language='')";
	} elseif ($multilingual) {
		$where = "WHERE language='$currentlang' OR language=''";
	} else {
		$where = "";
	}
	$tdwidth = intval(100/$tabcolumn);
	if (!is_array($massiv)) {
		$result = $db->sql_query("SELECT cid, title, pid, img, description, posts FROM ".$prefix."_wb_categories ".$where."");
		while (list($cid, $title, $pid, $img, $description, $posts) = $db->sql_fetchrow($result)){
			$posts = intval($posts);
			
			$massiv[] = array($cid, $title, $pid, $img, $description, $posts);
		}
	}
	if (!is_array($massiv2)) {
		$result = $db->sql_query("SELECT cid, title, pid, posts FROM ".$prefix."_wb_categories ".$where."");
		while (list($cid, $title, $pid, $posts) = $db->sql_fetchrow($result)){
			$posts = intval($posts);
			
			$massiv2[] = array($cid, $title, $pid, $posts);
		}
	}
	
	if ($massiv) {
		foreach ($massiv as $key => $val) {
			if ($val[2] == $id) {
				$img = (trim($val[3]) != "") ? "<a href=\"index.php?name=$module_name&op=cat&cid=".$val[0]."\" title=\"".$val[1]."\"><img border=\"0\" src=\"".$val[3]."\" title=\"$title\"></a>" : "";
				$ccontent .= "<td valign=\"top\" width=\"".$tdwidth."%\"><table border=\"0\"><tr><td>$img</td><td><a href=\"index.php?name=$module_name&op=cat&cid=".$val[0]."\" title=\"".$val[1]."\"><font class=\"rubriki\"><b>".$val[1]." </b></font></a><br /><i>".$val[4]."</i></td></tr>";
				if ($showsubkat == 1 && $massiv2) {
					foreach ($massiv2 as $key => $val2) {
						if ($val[0] == $val2[2]) {
							$ccontent .= "<tr><td colspan=\"2\"><img border=\"0\" src=\"images/navi.gif\" title=\"".$val2[1]."\"> <a href=\"index.php?name=$module_name&op=cat&cid=".$val2[0]."\" title=\"".$val2[1]."\">".$val2[1]." </a></td></tr>";
						}
					}
				}
				$ccontent .= "</table></td>";
				if ($cont == ($tabcolumn - 1)) {
					$ccontent .= "</tr><tr>";
					$cont = 0;
				} else {
					$cont++;
				}
			}
		}
	}
	if ($ccontent) {
		OpenTable();
		echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"10\" align=\"center\"><tr>".$ccontent."</td></tr></table>";
		list($p_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(pid) FROM ".$prefix."_wb WHERE status='1'"));
		list($cat_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(cid) FROM ".$prefix."_wb_categories"));
		$p_num = intval($p_num);
		$cat_num = intval($cat_num);
		
		CloseTable();
	}
}
4.01

4.01
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

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

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