Hallo erstmal!
Ich bin blutiger PHP Anfänger und schlage mich gerade damit rum. Genauer gesagt mit Php+Smarty+Arrays.
Auszug aus meinem Array $nodelist:
und hier das script was das array schlucken soll:
Aber ich bekomme die Fehlermeldung
selbstverständlich habe ich danach gegooglet und ich verstehe dass mein array kein "richtiges" array ist. aber leider kann ich das nicht beeinflussen. kann man das irgendwie umwandeln? Also sozusagen als gültiges Array umschreiben?
Grüße
Ich bin blutiger PHP Anfänger und schlage mich gerade damit rum. Genauer gesagt mit Php+Smarty+Arrays.
Auszug aus meinem Array $nodelist:
Code:
stdClass Object ( [id] => 30 [pagetitle] => Logodesign [url] => http://www.domain.de/cmsms/leistungen/logo.html [accesskey] => [type] => content2 [tabindex] => [titleattribute] => [modified] => 2010-09-08 11:43:57 [created] => 2010-09-08 11:37:01 [hierarchy] => 3.1 [depth] => 1 [prevdepth] => 1 [haschildren] => [menutext] => Logodesign [raw_menutext] => Logodesign [target] => [index] => 0 [alias] => logo [parent] => [extra1] => [extra2] => [extra3] => [current] => ) stdClass Object ( [id] => 28 [pagetitle] => Printdesign [url] => http://www.domain.de/cmsms/leistungen/print.html [accesskey] => [type] => content2 [tabindex] => [titleattribute] => [modified] => 2010-09-08 11:43:40 [created] => 2010-09-08 11:34:24 [hierarchy] => 3.2 [depth] => 1 [prevdepth] => 1 [haschildren] => [menutext] => Printdesign [raw_menutext] => Printdesign [target] => [index] => 1 [alias] => print [parent] => [extra1] => [extra2] => [extra3] => [current] => )
PHP-Code:
function array_sort_by_fields(&$data, $sortby){
static $sort_funcs = array();
if (empty($sort_funcs[$sortby]))
{
$code = "\$c=0;";
foreach (split(',', $sortby) as $key)
{
$d = '1';
if (substr($key, 0, 1) == '-')
{
$d = '-1';
$key = substr($key, 1);
}
if (substr($key, 0, 1) == '#')
{
$key = substr($key, 1);
$code .= "if ( ( \$c = (\$a['$key'] - \$b['$key'])) != 0 ) return $d * \$c;\n";
}
else
{
$code .= "if ( (\$c = strcasecmp(\$a['$key'],\$b['$key'])) != 0 ) return $d * \$c;\n";
}
}
$code .= 'return $c;';
$sort_func = $sort_funcs[$sortby] = create_function('$a, $b', $code);
}
else
{
$sort_func = $sort_funcs[$sortby];
}
uasort($data, $sort_func);
}
#
# Modifier: sortby - allows arrays of named arrays to be sorted by a given field
#
function smarty_modifier_sortby($arrData,$sortfields) {
array_sort_by_fields($arrData,$sortfields);
return $arrData;
}
Code:
Fatal error: Cannot use object of type stdClass as array in /homepages/44/d35513338/htdocs/design/cmsms/lib/smarty/plugins/modifier.sortby.php(35) : runtime-created function on line 1
Grüße
Kommentar