![]() | ||||||||
![]() |
Karte | Kalender | Suche | Bookmarks | Experte | FAQ |
ModuleDownloadSMFinder_Edit_CatsAtrsWird verwendet von:SMFinder_Edit_AddressFields SMFinder_Edit_EventFields SMFinder_Edit_LinkFields SMFinder_Query_Mask Auswahlboxen zum Ankreuzen der Kategorien und Attribute. Die Einträge der Elemente 'cats' und 'atrs' (z.B. $address['cats']) sind kommaseparierte Strings, diese werden zu Beginn in Vektoren umformatiert. In der Datei SMFinder_Elementdefinitions.php stehen zu den Elementen die Kathegorien und Attribute als Vectoren und werden hier $catsDesc und $atrsDesc zugewiesen. Die Anzeige des Kategorien-und-Attribute-Blocks ist als Tabelle formatiert. Dabei ist der zu übertragende Wert jeweils der Name der Kathegorie (des Attributs) und es wird jeweils abgeprüft, ob die übergebene Kategorien- (Attribute-)Liste diesen Eintrag bereits enthält und ggf. die Ankreuzbox ausgewählt. Es folgt, sofern $GLOBALS['shopfinder']=true gesetzt wurde, das gleiche Prozedere für die Einkaufsmöglichkeiten - mit silbernem Hintergrund. <?php /* published under GPL www.gnu.org/licenses/gpl.html */ function SMFinder_Edit_CatsAtrs($element,$catsString,$atrsString){ include('SMFinder_Elementdefinitions.php'); include_once('ShowCatsAtrsNice.php'); if ($GLOBALS['debug']){ echo "<aj>SMFinder_Edit_POSTcatsatrs:</aj> element: ".$element."<br>cats: ".$catsString."<br> atrs: ".$atrsString."<br>"; } $cats=explode(",",$catsString); $atrs=explode(",",$atrsString); #print_r($cats);echo "in Edit_CatsAtrs<p>"; $catsDesc=${'cats_'.$element}; $atrsDesc=${'atrs_'.$element}; /* select shop items */ if ($element=="address"){ for ($ii=0;$ii<count($catsDesc);$ii++){ if ($catsDesc[$ii]=="Geschaeft"){$iMax=$ii;} } for ($jj=0;$jj<count($atrsDesc);$jj++){ if ($atrsDesc[$jj]=="Lack"){$jMax=$jj;} } }else{ $iMax=count($catsDesc); $jMax=count($atrsDesc); } $string="<table width=100% border=0 cellspacing=0>\n<tr><th>Kategorien</th><th></th><th width=10%></th><th>Attribute</th><th></th></tr>\n"; $lDim=max($iMax,$jMax); for ($l=0;$l<$lDim;$l++){ if ($l<$iMax){ for ($c=0;$c<count($cats);$c++){ if($catsDesc[$l]==$cats[$c]){ $check="checked='checked' "; $value="1"; break; }else{ $check=" "; $value="0"; } } #c $cPart="<tr><td>".ShowCatsAtrsNice($catsDesc[$l])."</td><td><input type='checkbox' name='".$catsDesc[$l]."' ".$check.$value."></td><td></td>"; }else{ $cPart="<tr><td></td><td></td><td></td>"; } if ($l<$jMax){ for ($a=0;$a<count($atrs);$a++){ if($atrsDesc[$l]==$atrs[$a]){ $check="checked='checked'"; $value="1"; break; }else{ $check=""; $value="0"; } } #a $aPart="<td>".ShowCatsAtrsNice($atrsDesc[$l])."</td><td><input type='checkbox' name='".$atrsDesc[$l]."' ".$check.$value."></td><td></td></tr>\n"; }else{ $aPart="<td></td><td></td><td></td></tr>\n"; } $string .= $cPart.$aPart; } #l if ($GLOBALS['shopfinder']){ for ($l=$lDim;$l<max(count($catsDesc),count($atrsDesc));$l++){ $i=$l-$lDim+$iMax; $j=$l-$lDim+$jMax; if ($i<count($catsDesc)){ if(!empty($cats[$i])){ $check="checked='checked' "; $value="1"; }else{ $check=" "; $value="0"; } $cPart="<tr><td style='background-color:silver;'>".ShowCatsAtrsNice($catsDesc[$i])."</td><td style='background-color:silver;'><input type='checkbox' name='".$catsDesc[$i]."' ".$check.$value."></td><td style='background-color:silver;'></td>"; }else{ $cPart="<tr><td style='background-color:silver;'></td><td style='background-color:silver;'></td><td style='background-color:silver;'></td>"; } if ($j<count($atrsDesc)){ if(!empty($atrs[$j])){ $check="checked='checked' "; $value="1"; }else{ $check=" "; $value="0"; } $aPart="<td style='background-color:silver;'>".ShowCatsAtrsNice($atrsDesc[$j])."</td><td style='background-color:silver;'><input type='checkbox' name='".$atrsDesc[$j]."' ".$check.$value."></td><td style='background-color:silver;'></td></tr>\n"; }else{ $aPart="<td style='background-color:silver;'></td><td style='background-color:silver;'></td><td style='background-color:silver;'></td></tr>\n"; } $string .= $cPart.$aPart; } #l } #shopFinder $string .= "</table>\n"; $CatsAtrsBlock ="<tr><td></td><td>".$string."</td><td></td></tr>"; return $CatsAtrsBlock; } ?> IndexFür die Funktionalität des SM-Finders sind viele kleine Tools notwendig. Alle Funktionen beginnen mit SMFinder_ um deren Ursprung zu kennzeichnen. Dem schließt sich die Funktionsgruppe, z.B. Geo_ an, gefolgt vom eigentlichen Namen, der die Aufgabe der Funktion widerspiegeln soll, z.B. PLZ2DB. Der gesamte Sourcecode darf gemäß GNU General Public License weiterverbreitet werden. |
![]() |
Die hier zur Verfügung gestellten Informationen basieren auf dem Austauschnetzwerk des SM-Finders.
Änderungen an eurem Datensatz könnt ihr z.B. beim Arbeitskreis SM-Finder vornehmen.
Bei Fragen und Problemen schreibt bitte an: sm-finderki-co.org
Der AK-SM-Finder ist korporatives Mitglied der BVSM e.V.
Für Aktualität und Richtigkeit der dargebotenen Infomationen kann keine Gewähr übernommen werden!