function loadHtmlList(&$list) { global $item_typ, $gorumroll; parent::loadHtmlList($list); if ($gorumroll->list == "item_search" && count($list) && !$gorumroll->rollid) { $cid = $list[0]->cid; while (($item = current($list)) && ($oneCatExists = $item->cid == $cid)) { next($list); } if ($oneCatExists) { include "item_typ.php"; // resetting $item_typ $this->setupCategorySpecificList($cid); // hogy a prototype-os mezok tenyleg objektumok legyenek: foreach ($list as $item) { foreach ($item_typ["attributes"] as $attr => $attrInfo) { if (isset($item->{$attr}) && isset($attrInfo["prototype"]) && !is_object($item->{$attr})) { $item->{$attr} = new $attrInfo["prototype"]($item->{$attr}); } // ha egy nem kategory specifikus search eredmenyet jelenitjuk meg es azt // kategoria specifikus oszlopokkal kivanjuk kiegesziteni, akkor // gaz lehet a user fieldekkel! A user filedek lekerdezesehez ugyanis // meg a search query osszeallitasa soran be kell a querybe tenni a megfelelo 'AS' mezoket, // hogy a juzerbol szarmazo oszlopokat bedzsojnozzuk az itembe. Egy advanced search eseten // azonban ez nem tortenik meg, ezert ezeknek az oszlopoknak az ertekei definialatlanok lesznek // (viszont az activateVariableFields ugy jelzi oket mint megmutatando oszlopokat!). // Az ilyen oszlopokat nem tudjuk megmutatni, ezert itt ki is vesszuk a typeinfobol: if (in_array("list", $attrInfo) && !isset($item->{$attr})) { Object::removeFromTypeInfo($attr, "list", "item_typ"); } } } } } }