Author Topic: Kategoriesortierung nach neueste Bilder  (Read 5808 times)

0 Members and 1 Guest are viewing this topic.

Offline marcusfuerth

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Kategoriesortierung nach neueste Bilder
« on: August 08, 2014, 12:06:07 PM »
Hallo zusammen, ich habe wieder einmal eine Frage  Very Happy
Ich sehe vor, 4images als Archiv für meine Pressearbeit zu verwenden. Manchmal habe ich z.B. Bilder von starken Unwettern, welche ich in die Hauptkategorien Blaulicht und Wetter gleichzeitig einpflegen möchte, jedoch ohne die Bilder doppelt auf den Server zu laden. Gibt es dazu die Möglichkeit, dass praktisch eine ID auf eine andere ID verweist bzw. deren Bilderpfad übernimmt?

Habe in einem anderen Thread diesen Mod bekommen.
http://www.4homepages.de/forum/index.php?topic=27570.0

Mod eingebunden.

Wenn man nun nachträglich Kategorien einfügt, bei denen ein älteres Datum existiert, werden diese als erstes angezeigt. Kann man die Sortierung ändern, dass die Kategorien nach dem Datum der Bilder (neu nach alt) dargestellt werden?

Danke

Rembrandt

  • Guest
Re: Kategoriesortierung nach neueste Bilder
« Reply #1 on: August 11, 2014, 06:45:40 PM »
Hi!

Versuche mal das, suche in der global.php:


  $config
['cat_order'] = empty($config['cat_order']) ? 'cat_order, cat_name' $config['cat_order'];
  
$config['cat_sort']  = empty($config['cat_sort']) ? 'ASC' $config['cat_sort'];
  
$sql "SELECT cat_id, cat_name, cat_description, cat_parent_id, cat_hits, cat_order, auth_viewcat, auth_viewimage, auth_download, auth_upload, auth_directupload, auth_vote, auth_sendpostcard, auth_readcomment, auth_postcomment
          FROM "
.CATEGORIES_TABLE."
          ORDER BY "
.$config['cat_order']." " .$config['cat_sort'];
  
$result $site_db->query($sql);

  while (
$row $site_db->fetch_array($result)) {
    
$cat_cache[$row['cat_id']] = $row;
    
$cat_parent_cache[$row['cat_parent_id']][] = $row['cat_id'];
  }
  
$site_db->free_result();

  
// --------------------------------------

  
$new_cutoff time() - (60 60 24 $config['new_cutoff']);

  
$sql "SELECT cat_id, COUNT(image_id) AS new_images
          FROM "
.IMAGES_TABLE."
          WHERE image_active = 1 AND image_date >= 
$new_cutoff
          GROUP BY cat_id"
;
  
$result $site_db->query($sql);

  while (
$row $site_db->fetch_array($result)) {
    
$new_image_cache[$row['cat_id']] = $row['new_images'];
  }
  
$site_db->free_result();

  
// --------------------------------------

und ersetze es mit:

  $new_cutoff 
time() - (60 60 24 $config['new_cutoff']);
  
$sql "SELECT cat_id, COUNT(image_id) AS new_images
          FROM "
.IMAGES_TABLE."
          WHERE image_active = 1 AND image_date >= 
$new_cutoff 
          GROUP BY cat_id
          ORDER BY image_date ASC
          "
;
  
$result $site_db->query($sql);

  while (
$row $site_db->fetch_array($result)) {
    
$new_image_cache[$row['cat_id']] = $row['new_images'];
  }
  
$site_db->free_result();
  
  if (!empty(
$new_image_cache)){  
  
$test implode(",",array_keys($new_image_cache));  
  
$sql "SELECT cat_id, cat_parent_id 
          FROM "
.CATEGORIES_TABLE."
          WHERE cat_id in (
$test)
          "
;
  
$result $site_db->query($sql);

  while (
$row $site_db->fetch_array($result)) {
    if ((
$row['cat_parent_id'] || $row['cat_id'])!= 0){
      
$new_parent_id[$row['cat_id']] = $row['cat_parent_id'];
    }
  }
  
$site_db->free_result();
  
$test2 implode(",",$new_parent_id); 
  
$sortcat = ($test || $test2)?("field(cat_id,$test,$test2)DESC, ") :"";
  }
  else{
    
$sortcat="";
  }

/* ORDER BY ".$config['cat_order']." " .$config['cat_sort']; */
  
$config['cat_order'] = empty($config['cat_order']) ? 'cat_order, cat_name' $config['cat_order'];
  
$config['cat_sort']  = empty($config['cat_sort']) ? 'ASC' $config['cat_sort'];
  
$sql "SELECT cat_id, cat_name, cat_description, cat_parent_id, cat_hits, cat_order, auth_viewcat, auth_viewimage, auth_download, auth_upload, auth_directupload, auth_vote, auth_sendpostcard, auth_readcomment, auth_postcomment
          FROM "
.CATEGORIES_TABLE."
          ORDER BY "
.$sortcat." ".$config['cat_order']." " .$config['cat_sort'];
  
$result $site_db->query($sql);

  while (
$row $site_db->fetch_array($result)) {
    
$cat_cache[$row['cat_id']] = $row;
    
$cat_parent_cache[$row['cat_parent_id']][] = $row['cat_id'];
  }
  
$site_db->free_result();
  
// --------------------------------------


Einige Einschränkungen gibt es, wenn sich die neuesten Bilder in einer Subcategorie befinden werden diese als erster gereiht,
ob es funktioniert wenn sich neue Bilder in einer Sub -subcategorie befinden kann ich dir nicht sagen, das musst du ausprobieren.

mfg Andi
« Last Edit: August 22, 2014, 07:56:20 PM by Rembrandt »

Offline marcusfuerth

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: Kategoriesortierung nach neueste Bilder
« Reply #2 on: August 13, 2014, 07:08:17 PM »
Also, ich habe nun den Script getestet.
Habe nun einen Fehler auf der Seite und es werden gar keine Bilder mehr angezeigt.


Fehlermeldung lautet so:

An unexpected error occured. Please try again later.

Warning: Cannot modify header information - headers already sent by (output started at /homepages/13/d444038670/htdocs/4images/includes/db_mysql.php:196) in /homepages/13/d444038670/htdocs/4images/includes/sessions.php on line 101

Warning: Cannot modify header information - headers already sent by (output started at /homepages/13/d444038670/htdocs/4images/includes/db_mysql.php:196) in /homepages/13/d444038670/htdocs/4images/includes/sessions.php on line 101
« Last Edit: August 15, 2014, 03:12:57 PM by marcusfuerth »

Rembrandt

  • Guest
Re: Kategoriesortierung nach neueste Bilder
« Reply #3 on: August 22, 2014, 07:57:24 PM »
Mein Fehler, ich habe meinen vorigen Post dahin gehend Editiert.