Galéria fordított sorrend preprocess-el, Drupal 6-ban

aranyozottpatkoszeg képe

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;
 }
}
Fórum: