Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: Monatliches Artikel Archiv mit SEBLOD®

Monatliches Artikel Archiv mit SEBLOD® 08 Mär 2014 09:32 #871

  • gebeer
  • gebeers Avatar
  • OFFLINE
  • Beiträge: 29
  • Dank erhalten: 9
Hallo allerseits,

ich moechte gerne ein monatliches Archiv (wie man es von Blogseiten kennt) mit SEBLOD® realisieren.

Dabei sollen in einer Sidebar die Monate nach Jahr sortiert gelistet werden:
2014
Maerz
Februar
Januar
2013
Dezember
November
usw.

Die Monate sind jeweils Links. Bei Klick sollen dann alle Beitraege des jeweiligen Monats aufgelistet werden.

Meine Ideen zur Umsetzung:
-Die Monatsliste mit einer modifizierten Kopie des Joomla-eigenen Archived Articles Modul generieren. Dort ist der PHP Code zur Datenbankabfrage und Erstellung der Liste schon vorhanden und muss "nur" angepasst werden, um die richtigen Artikel zu suchen und die richtigen Links auszugeben.

-Die Links in dem Modul so generieren, dass 2 Parameter an eine SEBLOD®-Suchliste uebergeben werden, z.B.:
start_date(01.01.2014), end_date(31.01.2014)

-Die beiden Parameter muessten auch als Felder in dem betroffenen Content-Typen (z.B. Article) angelegt werden???

-Bei der SEBLOD® Suchliste im Search Tab start_date und end_date angeben und entsprechend konfigurieren:
start_date: Live=Variable start_date, Match <= Erstellungsdatum (art_created)
end_date: Live=Variable end_date, Match >= Erstellungsdatum (art_created)

So oder aehnlich sollte das funktionieren, oder?

Hat hier vielleicht Jemand so etwas schon einmal gemacht oder eine (bessere) Idee zur Umsetzung?

Bin gespannt auf Euer Feedback.

Gruss
Gerhard
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Monatliches Artikel Archiv mit SEBLOD®™ 08 Mär 2014 09:43 #872

  • time4mambo
  • time4mambos Avatar
  • OFFLINE
  • Mal gucken ob was passiert...
  • Beiträge: 900
  • Dank erhalten: 176
Hallo Gerhard,

ein anderer Ansatz wäre es vielleicht, mit Suchlisten zu arbeiten. Du kannst bei Menüaufruf bereits Werte an die Suchliste übergeben und du kannst die Suche selber komplett ausblenden. Somit müsste es eigentlich möglich sein, dass du nur die Beiträge eines bestimmten Jahres als Liste oder Blog ausgibst.

Wäre zumindest etwas, das ohne Programmierung auskommt.


Axel
Das SEBLOD®-Handbuch auf Amazon
Tutorials zu Joomla und MS-Office: www.time4joomla.de
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Folgende Benutzer bedankten sich: gebeer

Monatliches Artikel Archiv mit SEBLOD®™ 08 Mär 2014 12:04 #874

  • Cappu
  • Cappus Avatar
  • OFFLINE
  • Beiträge: 146
  • Dank erhalten: 29
Hallo Gerhard,

ich würde erst mal im JED gucken, ob es da nicht schon eine Lösung gibt, z. B. Monthly Archive geht schon sehr in die von Dir angedachte Richtung:

extensions.joomla.org/extensions/news-di...les-structured-lists

Beste Grüße,

Bernhard
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Folgende Benutzer bedankten sich: gebeer

Monatliches Artikel Archiv mit SEBLOD®™ 08 Mär 2014 13:12 #876

  • gebeer
  • gebeers Avatar
  • OFFLINE
  • Beiträge: 29
  • Dank erhalten: 9
@time4mambo,
vielen Dank fuer Deinen Vorschlag. Aber so muesste ich fuer jeden Monat einen Menuepunkt manuell anlegen. Das sollte aber automatisch passieren.

@Cappu
Dir auch vielen Dank. Genau die von Dir vorgeschlagene Extension hatte ich schon ausprobiert. Funktioniert leider nicht. Ausserdem wuerde ich das gerne mit SEBLOD® realisieren. Zusaetzliche Extensions bedeuten immer mehr Pflege-Aufwand bei Updates.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Monatliches Artikel Archiv mit SEBLOD® 09 Mär 2014 13:36 #880

  • Anonymus
  • Anonymuss Avatar
Hallo Gerhard,

Um das komplett in SEBLOD® zu machen musst du ein eigenes Modul dafür erstellen.
Alternativ kannst du das Joomla! "Archived Articles Modul" verwenden und für dich Anpassen.
Allerdings musst das halt dann nach jedem Update erneut Ändern.

Ich habe es mal ausprobiert. (siehe Bild)
Um das zu erreichen sind nicht viele Änderungen nötig.

/modules/mod_articles_archive/helper.php
class ModArchiveHelper
{
   ...
   public static function getList(&$params)
   {
      ...

      $i = 0;
      $lists = array();
      $temp = array();

      foreach ($rows as $row)
      {
         $date = JFactory::getDate($row->created);

         $created_month = $date->format('n');
         $created_year = $date->format('Y');

         $created_year_cal = JHTML::_('date', $row->created, 'Y');
         $month_name_cal = JHTML::_('date', $row->created, 'F');

         $lists[$i] = new stdClass;

         $lists[$i]->link = JRoute::_('index.php?option=com_content&view=archive&year=' . $created_year . '&month=' . $created_month . $itemid);
         //$lists[$i]->text = JText::sprintf('MOD_ARTICLES_ARCHIVE_DATE', $month_name_cal, $created_year_cal);

         /* -------------- das einfügen ------------------ */
         $lists[$i]->text = JText::sprintf('MOD_ARTICLES_ARCHIVE_DATE', $month_name_cal, '');
         $lists[$i]->text = str_replace(', ','', $lists[$i]->text);
         $temp[$created_year_cal][] = $lists[$i];
         /* --------------------------------------------- */

         $i++;
      }

      $lists = $temp; // override
      return $lists;
   }
}

Dann für die Ausgabe: /modules/mod_articles_archive/tmpl/default.php
<?php if (!empty($list)) :?>
<ul class="archive-module<?php echo $moduleclass_sfx; ?>" style="font-size: 120%;font-weight:700;list-style-type: none;padding-left: 0px;margin:0;">
   <?php foreach ($list as $key => $val) : ?>
   <li>
      <?php echo $key; ?>

      <ul style="font-size: 90%;font-weight:normal;list-style-type: circle;padding-left: 14px;">
         <?php foreach ($val as $item) : ?>
         <li>
            <a href="<?php echo $item->link; ?>">
               <?php echo $item->text; ?>
            </a>
         </li>
         <?php endforeach; ?>
      </ul>
   </li>
   <?php endforeach; ?>
</ul>
<?php endif; ?>

Paul
Anhang:
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Monatliches Artikel Archiv mit SEBLOD® 10 Mär 2014 06:29 #887

  • gebeer
  • gebeers Avatar
  • OFFLINE
  • Beiträge: 29
  • Dank erhalten: 9
Hallo Paul,

super Sache, vielen Dank fuer Deinen Code! Werde das in meinen einfliessen lassen.

Ich habe mir das Archived Articles Modul kopiert, umbenannt und neu installiert. So bleibt es von Updates verschont.

In der helper.php hab ich die Zeile 21 noch folgend abgeaendert:
$query->where("state = 1 AND checked_out = 0 AND catid = " . (int) $params->get('archcategory'));

In der Original-Datei war state = 2. Damit wurden nur die archivierten Artikel gesucht. Mit state = 1 werden alle veroeffentlichen Artikel gesucht.

Mit der catid hole ich nur die Artikel aus der Kategorie, die ich in den Modulparametern definiert habe.
Damit kann ich auf verschiedenen Seiten in Joomla ein Monatsarchiv fuer verschiedene Kategorien ausgeben.

Jetzt muss noch der richtige Link zur SEBLOD® Suchliste generiert und die Suche richtig konfiguriert werden.

Das wird bei mir etwas dauern, weil ich noch ein anderes Projekt abschliessen muss. Sobald die Sache laeuft, werde ich meine Ergebnisse samt Code hier posten.

Gerhard

Gerhard
Letzte Änderung: 10 Mär 2014 06:54 von gebeer.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
nach oben