Forum : eXV2 ModuleTitel : Frage zu VISO© 2004-2012 www.exv2.de http://www.exv2.de
URL dieser Diskussion
http://www.exv2.de/modules/newbb_plus/viewtopic.php?topic_id=3982&forum=7
|
molli :
| 06.01.2008 01:09 |
Hallo exv2 community,
wünsche Euch allen noch ein glückliches, erfolgreiches und vor allem gesundes Jahr 2008. Ich hoffe Eure Köpfe sind in soweit wieder klar, dass ihr mir auch dieses Jahr wieder einmal mehr helfen könnt.
Ich hatte die Frage bereits vor ein paar Monaten schon bei Frank gepostet, der sich's eigentlich auch anschauen wollte, dann aber den exv2 Support einstellte, deshalb hier die Frage nochmals.
Ich habe ein zweites Kategoriensystem angelegt, welches ich für die Zuordnung der Bundesländer nutzen will und das im Aufbau und in der Funktionsweise identisch ist mit dem originalen (kid). Nun würde ich gern noch die VISO-Suchmaske etwas modifizieren. Ich habe ja jetzt zwei Auswahlmöglichkeiten: zum einen kann ich eine Kategorie auswählen und zum anderen ein Bundesland. Wähle ich also eine Kategorie aus, gehe über den Suchbutton, erhalte ich alle Einträge dieser Kategorie. Mit den Bundesländern funktioniert das ganze genau so. Was noch nicht funktioniert ist, dass wenn ich eine Kategorie, z.B. Schädlingsbekämpfung, und ein Bundesland, z.B. Hessen, auswähle, dann als Ergebnis die Einträge der Schädlingsbekämpfungsfirmen in Hessen bekomme. Ich habe hier auszugsweise was aus der viso/search.php sowie der search.viso.php gepostet. Wäre super, wenn Ihr euch das mal ansehen könntet, wie immer tausendmal Dank im voraus.
Gruß molli
Ach ja "$teeb" steht für den Auswahl-Array der Bundesländer und bld für die catid der BL.
/* viso/search.php ....
if (($action == "result")&(strlen($query)or($kid)or($bld) >= 3)) { #$startzeit = timestop();
if ($kid>0){ $mytree = new XoopsArbre($db->prefix("viso_kat"),"kid","ksid"); $tee[] = $kid; $tee = ($mytree->getAllChildId($kid,"",$tee));
} else { $tee = ""; } if ( $match != "EXACT" ) { $queryarray = split(" ", $myts->oopsAddSlashesGPC($query));
} else { $queryarray = array($myts->oopsAddSlashesGPC($query)); }
$tableContent = brb_search($queryarray, $tee, $teeb, $sort, $visoConfig['nb_affichage'], $debut, $orderby, $match, $xnumrows);
###########
if ($bld>0){ $mytree = new XoopsArbre($db->prefix("viso_bldkat"),"bld","bldksid"); $teeb[] = $bld; $teeb = ($mytree->getAllChildId($bld,"",$teeb));
} else { $teeb = ""; } if ( $match != "EXACT" ) { $queryarray = split(" ", $myts->oopsAddSlashesGPC($query));
} else { $queryarray = array($myts->oopsAddSlashesGPC($query)); }
$tableContent = brb_search($queryarray, $tee, $teeb, $sort, $visoConfig['nb_affichage'], $debut, $orderby, $match, $xnumrows);
#bis hierher funktionierts! ###########
if (($kid)&($bld)){ $mytree = new XoopsArbre($db->prefix("viso_eintrag_mod"),"kid","bld");
$tee[] = $kid; $teeb[] = $bld; $teeb&&$tee = ($mytree->getAllParentId($kid&&$bld,"",$teeb&&$tee));
} else { $teeb&&$tee= ""; } if ( $match != "EXACT" ) { $queryarray = split(" ", $myts->oopsAddSlashesGPC($query));
} else { $queryarray = array($myts->oopsAddSlashesGPC($query)); }
$tableContent = brb_search($queryarray, $tee, $teeb, $sort, $visoConfig['nb_affichage'], $debut, $orderby, $match, $xnumrows);
###########
if ($xnumrows > 0){ ...
#######################################################
search.viso.php
function brb_search($queryarray, $tee, $teeb, $sort, $limit, $offset, $orderby, $match, &$xnumrows){ global $db; if(is_array($tee)){ $sqladd = " AND ("; foreach ( $tee as $value ) { $sqladd .= " kid='$value' OR"; } $sqladd = substr($sqladd, 0, -3); $sqladd .=") "; #echo $sqladd; }
elseif(is_array($teeb)){ $sqladd = " AND ("; foreach ( $teeb as $value ) { $sqladd .= " bld='$value' OR"; } $sqladd = substr($sqladd, 0, -3); $sqladd .=") "; #echo $sqladd; }
#bis hierher funktionierts!
elseif(is_array($tee)&&is_array($teeb)){ $sqladd = " AND ("; foreach ( ($tee)&&($teeb) as $value ) { $sqladd .= " bld='$value', kid='$value' OR"; } $sqladd = substr($sqladd, 0, -3); $sqladd .=") "; #echo $sqladd;
}else { $sqladd=""; } $sql = "SELECT lid, kid, bld, title, tid, tel, date, email, town,... */ |
|
|
bama :
| 06.01.2008 09:52 |
ich wollte mir das mal ansehen, jedoch ist localhost.de keine eXV² Version
Hinweis beim posten von Beiträgen ist folgendes zu Beachten - konkrete Fehlerbeschreibung - Version des eingesetzten eXV2  - gegebenfals Bild anhängen - richtige URL zu eurer Seite im Profil 
nur so können wir Support leisten |
|
|
molli :
| 06.01.2008 12:28 |
Hallo Hans,
sorry, ich benutze die exv2-Version 2.043 welche auf einem "XAMPP Server" LOCAL bei mir auf dem Rechner läuft. Bei der Registrierung zur Community war die Eingabe einer URL erforderlich, daher localhost.de. Werde das gleichmal ändern und ein paar X'en reinsetzen solange bis ich eine hab. Hab mal gesucht und folgenden Link gefunden:
http://www.busfahrernetz.de/modules/viso/search.php
Stell dir einfach unter dem Kategorien Select-Feld noch ein Bundesland Select-Feld vor, welches identisch aufgebaut ist und auch so funktioniert. Wie anfangs beschrieben ist mein Problem nun, dass ich es nicht hinbekomme, dass diese zwei "Kategorien" miteinander korrespondieren.
Gruß Oli |
|
|
molli :
| 07.01.2008 20:53 |
Frage hat sich erübrigt, hab's soeben hinbekommen.
Danke |
|
|
|