image_gallery-val van remek galériám.
Viszont más sorrendet szeretnék anélkül, hogy bele kellnem nyúlnom az image_gallery.module-ba. (Hogy frissítésnél ne legyen gondom.)
Eljutottam valameddig:
1) a template.php-ba beleraktam a sminkem_preprocess_image_gallery()-t
2) beleraktam az eredeti image_gallery.module image_gallery_page() azon sorati, amiben benne van, hogy hogyan választja ki az adatbázisból a képet
3) az SQL lekérés ORDER BY elemét megváltoztattam a magam kedve szerint
DE az SQL-ben szükség van az adott $tid-re. Azt honnan szerzem meg?
A legelső képből (amit az eredeti image_gallery_page() keresett meg) kiszedtem egy tid-et, de ez nem megbízható, amennyiben az adott kategória első képéhez több tid (taxonomy, galéria) tartozik. Hmm..
Ráadásul nem ez e legelegánsabb, mert így duplán kérem le a képek listájáz = dupla terhelés. De ez kevésbé zavar.
Íme a kód, amt a template.php-ba tettem:
function garland_preprocess_image_gallery(&$variables) { if($variables['images'] != array()) { // Megszerezzól a $tid-t. Csúnya foreach($variables['images'][0]->taxonomy as $key => $item) { $tid = $key; } // Az eredeti image_gallery_page()-bol kivet par sor. Modositva az ORDER BY $images = array(); if ($tid) { $result = pager_query(db_rewrite_sql("SELECT n.nid FROM {term_node} t INNER JOIN {node} n ON t.nid=n.nid WHERE n.status=1 AND n.type='image' AND t.tid=%d ORDER BY n.sticky DESC, n.created ASC"), variable_get('image_images_per_page', 6), 0, db_rewrite_sql("SELECT COUNT(DISTINCT(n.nid)) FROM {term_node} t INNER JOIN {node} n ON t.nid=n.nid WHERE n.status=1 AND n.type='image' AND t.tid=%d"), $tid); while ($node = db_fetch_object($result)) { $images[] = node_load(array('nid' => $node->nid)); } } $variables['images']=$images; } }