4images Issues / Ausgaben > Discussion & Troubleshooting

zwei spalten neue Bilder auf home möglich?

(1/21) > >>

bergblume:
hallo, in der standardansicht werden ja auf home.html die 3 neuesten bilder aus allen kategorien angezeigt...
kann ich zusätzlich noch eine separate zeile mit den 3 neuesten bildern aus einer fest definierten Kategorie in home.html hinzufügen?

Rembrandt:
Hi!

soda...
suche in der index.php:

//-----------------------------------------------------
//--- Print Out ---------------------------------------
//-----------------------------------------------------


und füge das davor ein:

//-----------------------------------------------------select new images start-----------------------------------------------------------
$num_new_images = $config['image_cells'];
$cat_in = array(1,2);
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits".$additional_sql.", c.cat_name".get_user_table_field(", u.", "user_name")."
        FROM (".IMAGES_TABLE." i,  ".CATEGORIES_TABLE." c)
        LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id)
        WHERE i.image_active = 1 AND c.cat_id = i.cat_id AND i.cat_id NOT IN (".get_auth_cat_sql("auth_viewcat", "NOTIN").")AND i.cat_id IN (".implode(", ",$cat_in).")
        ORDER BY i.image_date DESC
        LIMIT $num_new_images";
$result = $site_db->query($sql);
$num_rows2 = $site_db->get_numrows($result);

if (!$num_rows2)  {
  $new_images2 = "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\"><tr class=\"imagerow1\"><td>";
  $new_images2 .= $lang['no_new_images'];
  $new_images2 .= "</td></tr></table>";
}
else  {
  $new_images2 = "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\">";
  $count = 0;
  $bgcounter = 0;
  while ($image_row = $site_db->fetch_array($result)){
    if ($count == 0) {
      $row_bg_number = ($bgcounter++ % 2 == 0) ? 1 : 2;
      $new_images2 .= "<tr class=\"imagerow".$row_bg_number."\">\n";
    }
    $new_images2 .= "<td width=\"".$imgtable_width."\" valign=\"top\">\n";

    show_image($image_row);
    $new_images2 .= $site_template->parse_template("thumbnail_bit");
    $new_images2 .= "\n</td>\n";
    $count++;
    if ($count == $config['image_cells']) {
      $new_images2 .= "</tr>\n";
      $count = 0;
    }
  } // end while

  if ($count > 0)  {
    $leftover = ($config['image_cells'] - $count);
    if ($leftover >= 1) {
      for ($f = 0; $f < $leftover; $f++) {
        $new_images2 .= "<td width=\"".$imgtable_width."\">\n&nbsp;\n</td>\n";
      }
      $new_images2 .= "</tr>\n";
    }
  }
  $new_images2 .= "</table>\n";
} // end else

$site_template->register_vars("new_images2", $new_images2);
unset($new_images2);
//-------------------------------------------------select new images end------------------------------------------------------                 


in der home.html fügst du das ein {new_images2}.

die kategorien kannst du auswählen in dem du die jeweiligen cat_nummern hier einträgst (zweite codezeile):

$cat_in = array(1,2);

als bspl. habe ich kategorie 1 und 2 eingetragen, die nummer der kategorien immer mit einem beistrich trennen.

mfg Andi

Sebas Bonito:
Ah so was ähnliches suche ich auch  :lol: Ich benutze die MOD "Media sites", bei der man auch Videos hochladen bzw. verknüpfen kann. Als Thumbs entsprechen sie normalen Fotos, nur möchte ich da eine gewisse Trennung (zumindest auf der Startseite/home.html) haben:

In der ersten Box sollen nur die neuesten Fotos erscheinen,
und in einer zweiten seperaten Box darunter nur die neuesten Videos.

Zwar könnte ich das ähnlich wie o.a. umfunktionieren, da Videos und Fotos immer unterschiedliche Kategorien bei mir haben, es gibt also keine Vermischungen. Allerdings ist es doch recht mühsam, bei jedem neuen Album auch in den Quellcode zu gehen. Gibt es da eine elegante Lösung?

bergblume:
hi andi!

perfekt! super - danke dir, werde ich morgen gleich mal ausprobieren!

gruss, bergblume

Rembrandt:
Hi!

--- Quote from: Schnick_und_Schnack on June 22, 2009, 09:14:51 PM ---...
Gibt es da eine elegante Lösung?

--- End quote ---

1.) Suche in der admin/settings.php:
     search in admin/settings.php:

show_table_separator($setting_group[3], 2, "setting_group_3");

und füge davor ein:
insert above:

 //--------------------------------- Start cat select pic ---------------------------------
show_setting_row("cat_rand_pic");
//--------------------------------- End cat select pic ---------------------------------


2.) suche in lang/deutsch/admin.php:
     search in lang/english/admin.php:

$setting['num_subcats'] =

und füge davor ein:
insert above:

//--------------------------------- Start cat select pic ---------------------------------
$setting['cat_rand_pic'] = "Kategorie Bilder Anzeigen:<br /><span class=\"smalltext\">ID Nummern mit , trennen.</span>";
//--------------------------------- End cat select pic ---------------------------------


3.) suche in der index.php:
     search in index.php:

//--- Print Out ---------------------------------------

und füge davor ein:
 insert above:

//--------------------------------- Start cat select pic ---------------------------------
      $cat_in= $config['cat_rand_pic'];

$num_new_images = $config['image_cells'];

$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits".$additional_sql.", c.cat_name".get_user_table_field(", u.", "user_name")."
        FROM (".IMAGES_TABLE." i,  ".CATEGORIES_TABLE." c)
        LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id)
        WHERE i.image_active = 1 AND c.cat_id = i.cat_id AND i.cat_id NOT IN (".get_auth_cat_sql("auth_viewcat", "NOTIN").")AND i.cat_id IN (".$cat_in.")
        ORDER BY i.image_date DESC
        LIMIT $num_new_images";
$result = $site_db->query($sql);
$num_rows2 = $site_db->get_numrows($result);

if (!$num_rows2)  {
  $new_images2 = "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\"><tr class=\"imagerow1\"><td>";
  $new_images2 .= $lang['no_new_images'];
  $new_images2 .= "</td></tr></table>";
}
else  {
  $new_images2 = "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\">";
  $count = 0;
  $bgcounter = 0;
  while ($image_row = $site_db->fetch_array($result)){
    if ($count == 0) {
      $row_bg_number = ($bgcounter++ % 2 == 0) ? 1 : 2;
      $new_images2 .= "<tr class=\"imagerow".$row_bg_number."\">\n";
    }
    $new_images2 .= "<td width=\"".$imgtable_width."\" valign=\"top\">\n";

    show_image($image_row);
    $new_images2 .= $site_template->parse_template("thumbnail_bit");
    $new_images2 .= "\n</td>\n";
    $count++;
    if ($count == $config['image_cells']) {
      $new_images2 .= "</tr>\n";
      $count = 0;
    }
  } // end while

  if ($count > 0)  {
    $leftover = ($config['image_cells'] - $count);
    if ($leftover >= 1) {
      for ($f = 0; $f < $leftover; $f++) {
        $new_images2 .= "<td width=\"".$imgtable_width."\">\n&nbsp;\n</td>\n";
      }
      $new_images2 .= "</tr>\n";
    }
  }
  $new_images2 .= "</table>\n";
} // end else

$site_template->register_vars("new_images2", $new_images2);
unset($new_images2);
//--------------------------------- End cat select pic ---------------------------------


4.) in der home.html mittels {new_images2} die Bilder anzeigen.

jetzt kannst du im ACP unter "Kategorie einstellung" die cat_id nummern eintragen,
 von denen die neuesten bilder angezeigt werden sollen.

5.) wollt ihr aber die cat_id nummern eintragen die nicht angezeigt werden sollen, ändert in der SQL abfrage von:

AND i.cat_id IN (".$cat_in.")
auf

AND i.cat_id NOT IN (".$cat_in.")

elegant genug?  :mrgreen:
 
 mfg Andi

Navigation

[0] Message Index

[#] Next page

Go to full version