Artikle List Advanced

Gesperrt
ClemensSchnitzler
Beiträge: 137
Registriert: Di 17. Aug 2004, 12:32
Kontaktdaten:

Artikle List Advanced

Beitrag von ClemensSchnitzler »

Guten morgen

ich habe mir hier aus dem Forum die Artikle Liste Advanced von Herrn B installiert. Funktioniert einwandfrei. Vielen Dank dafür.

Ich habe nur ein Problem mit der Einbundung des Datums. Wie von i-fekt auf Seite 7 dieses langen Threads beschrieben bin ich vorgegangen. Das Datum erscheint nur nirgendwo.

Es ist sicher auch nochmal irgendwie genauer für die Ausgabe zu definieren. Nur das habe ich leider nicht hinbekommen.

Es wäre nett, wenn mir jemand unter die Arme greifen könnte.

Das bisherige Ergebnis ist zu sehen unter: http://c-schnitzler.eu/cms/front_content.php?idcat=91

Vielen Dank für Eure Hilfe

Gruss

Clemens
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

ClemensSchnitzler
Beiträge: 137
Registriert: Di 17. Aug 2004, 12:32
Kontaktdaten:

Das habe ich studiert!

Beitrag von ClemensSchnitzler »

Hallo Ingo,

vielen Dank. Beide Threads habe ich studiert. Der erste von beiden erläutert lediglich, dass nun auch $aValue["Created"] und $aValue["Published"] zur Verfügung stehen.

Den zweiten Thread von i-fekt

Code: Alles auswählen

 
#-----[ FIND ]------------------------------------------ 
# 
  foreach ($aData as $aValue) { 


# 
#-----[ ADD, AFTER ]------------------------------------ 
# 
   $datum = strtotime($aValue["Created"]); 
   $tag = date("j",$datum); 
   $monat = date("m",$datum); 
   $jahr = date("Y",$datum); 
   $monat = str_replace( 
    array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'), 
    array('. Januar ', '. Februar ', '. März ', '. April ', '. Mai ', '. Juni ', '. Juli ', '. August ', '. September ', '. Oktober ', '. November ', '. Dezember '), 
   $monat 
   ); 
    
# 
#-----[ ADD, ANYWHERE ]---------------------------------- 
# 
".$tag.$monat.$jahr."
Den habe ich angesprochen. Den obigen Code habe ich im Output-Bereich des Moduls eingefügt. Ich bekomme aber nichts angezeigt. Ich denke, dass ich im Code noch etwas einfügen muss, wie z. B. <div id="date">????????????????????????????????????????</div>.

Das ist mein Problem und da steige ich nicht durch!

Aber vielleicht kannst DU mir ja einen Tipp geben.

Vielen Dank

Gruss

Clemens
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

Klar kann ich Tipps geben. Aber an sich ist das von i-fekt schon richtig so. Pack doch mal irgendwo ein:

Code: Alles auswählen

echo $tag . $monat . $jahr;
hin. Wenn du das schon gemacht hast, poste mal deinen geänderten Output. Am besten eingent sich für solche Fragen übrigens der Modulthread selbst:

http://www.contenido.org/forum/viewtopic.php?t=10957
ClemensSchnitzler
Beiträge: 137
Registriert: Di 17. Aug 2004, 12:32
Kontaktdaten:

habe jetzt ein Echo hinzugefügt

Beitrag von ClemensSchnitzler »

Ich hatte das ganze exakt aus dem Thread von i-fekt herauskopiert.

Da stand kein echo davor. Das habe ich jetzt eingefügt. hier der Code im Auszug:

Code: Alles auswählen

      # Output data
      # Every output manipulation should be done here...
      # 
      # Base information:
      # $aSettings["Elements"]:       Number of expected, additional elements from each article
      # $aSettings["ArticlePerPage"]: Number of articles per page (0: show all)
      # $aSettings["k".$i]["ElementType"]:   Per Element: Type of Element: Text, Image or ExtractedImage
      # $aSettings["k".$i]["ElementWidth"]:  Per Element: Text length or image width (-> recycling ...)
      # $aSettings["k".$i]["ElementHeight"]: Per Element: Image width
      # 
      # Per article:
      # $aValue["Headline"]:          Content of article element specified as containing the headline information
      # $aValue["Link"]:              Relative link to get to the listed article
      # $aValue["LastModified"]:      Last modified date of the article
      # $aValue["Created"]:           Created date of the article
      # $aValue["Published"]:         Published date of the article
      # $aValue["Category"]:          Category name
      # 
      # Per article additional element:
      # $aValue["i".$i]["Value"]:      Text (only for text elements, otherwise "")
      # $aValue["i".$i]["WebPath"]:    HTTP... path to image
      # $aValue["i".$i]["ServerPath"]: /server/... path to image
      # $aValue["i".$i]["Width"]:      >Original< image width
      # $aValue["i".$i]["Height"]:     >Original< image height

      foreach ($aData as $aValue) {
   $datum = strtotime($aValue["Created"]);
   $tag = date("j",$datum);
   $monat = date("m",$datum);
   $jahr = date("Y",$datum);
   $monat = str_replace(
    array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'),
    array('. Januar ', '. Februar ', '. M&auml;rz ', '. April ', '. Mai ', '. Juni ', '. Juli ', '. August ', '. September ', '. Oktober ', '. November ', '. Dezember '),
   $monat
   );

echo '<div>', chr(10);
         echo '   <div id="headline">'.$aValue[""]."".$aValue["Headline"].'</div>', chr(10);

         if ($aSettings["Elements"] > 0) {
            for ($i = 0; $i < $aSettings["Elements"]; $i++) {
               switch (TRUE) {
                  case ($aSettings["k".$i]["ElementType"] == "Image" || $aSettings["k".$i]["ElementType"] == "ExtractedImage"):
                     $image = $aValue["i".$i]["WebPath"];
                     
                     $width  = $aValue["i".$i]["Width"];
                     $height = $aValue["i".$i]["Height"];

                     if ($aSettings["k".$i]["ElementWidth"] > 0 && $aSettings["k".$i]["ElementHeight"] > 0) {
                        # Check, if resize necessary
                        if ($aValue["i".$i]["ServerPath"] != "" && file_exists($aValue["i".$i]["ServerPath"]) && 
                            ($aValue["i".$i]["Width"] > $aSettings["k".$i]["ElementWidth"] || 
                             $aValue["i".$i]["Height"] > $aSettings["k".$i]["ElementHeight"])) {
                           # Scale image
                           $image = capiImgScale($aValue["i".$i]["ServerPath"], $aSettings["k".$i]["ElementWidth"], $aSettings["k".$i]["ElementHeight"], false, false, 10, false);
                           
                           #Get dimensions of the image
                           list ($width, $height, $type, $attr) = getimagesize($image);
                        } else {
                           $image = $aValue["i".$i]["WebPath"];
                           
                           $width  = $aValue["i".$i]["Width"];
                           $height = $aValue["i".$i]["Height"];
                        }
                     }
                     
                     if ($image != "") {
                        echo '   <div id="image"><img src="'.$image.'" width="'.$width.'" height="'.$height.'" /></div>', chr(10);
                     }
                     
                     break;
                  default: // Everything else is treated as "Text"
                     echo '   <div id="text">'.$aValue["i".$i]["Value"].'</div>', chr(10);
echo $tag . $monat . $jahr;  
            }
            }
         }
         echo '<div id="more"><a href="'.$aValue["Link"].'">'.mi18n("More...").'</a></div>', chr(10);
         echo '</div>', chr(10);
      }

   }


   # Page browsing
Mit diesem Code bekomme ich das Datum nun angezeit.

Ich habe auch probiert das so zu Skripten, dass ich das per CSS (DIV) steuern kann. Da meldet mir das System aber einen Fehler im Code.

Vielleicht kannst Du mir hierbei helfen. Das wäre nett.

Grüss aus Mainz
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

Dann mach doch etwas wie:

Code: Alles auswählen

echo '<div class="datum">' . $tag . $monat . $jahr . '</div>'; 
Ab hier bin ich raus.
ClemensSchnitzler
Beiträge: 137
Registriert: Di 17. Aug 2004, 12:32
Kontaktdaten:

Danke

Beitrag von ClemensSchnitzler »

Ich bin halt nicht der hellste in PHP-Skripts. Das hat funktioniert.

Vielen Dank.

Gruss

Clemens
ClemensSchnitzler
Beiträge: 137
Registriert: Di 17. Aug 2004, 12:32
Kontaktdaten:

Geht auch Uhrzeit?

Beitrag von ClemensSchnitzler »

Bekommt man da auch die Uhrzeit noch hinzu? Was muss ich dafür eingeben?

Gruss
php0815
Beiträge: 373
Registriert: Mi 26. Okt 2005, 12:12
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von php0815 »

Und wieder ist die Suche dein Freund :!:
Und wiso suchst du nicht selber :?:
http://contenido.org/forum/viewtopic.ph ... c&start=16

Aber Pass auf der Thread hat auch noch ein Link :!: :!:
In der Ruhe liegt die Kraft den wer suchet der findet
Wer Rechtschreibfehler findet kann sie behalten, Codefehler können gemeldet werden.
ClemensSchnitzler
Beiträge: 137
Registriert: Di 17. Aug 2004, 12:32
Kontaktdaten:

Ich habe gesucht

Beitrag von ClemensSchnitzler »

Wie Du diesem Thread entnehmen kannst hatte ich zur Lösung des ersten Problems die Suche betätigt und hierzu auch etwas gefunden. Damit bin ich allerdings nicht klargekommen.

Genauso wenig komme ich mit Deinem Hinweis weiter.

Ich möchte hier:

Code: Alles auswählen

echo '<div class="datum">Erstellt am: ' . $tag . $monat . $jahr . ', um' . $time . ' Uhr</div>';
noch die Uhrzeit mit abfragen. Das bekomme ich trotz des Hinweises, welchen ich auch schon gelesen hatte einfach nicht hin.

Aber vielleicht hast Du ja einen Tipp.

Grüsse aus Mainz
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

Damit das Ganze auch für dich was bringt, schau dir im bisherigen Code an wie die Variablen jeweils das entsprechende Datumformat bekommen und dann schau dir mal die PHP-Funktion date() an:

http://de3.php.net/manual/de/function.date.php
php0815
Beiträge: 373
Registriert: Mi 26. Okt 2005, 12:12
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von php0815 »

Hast du dir das auch durchgelesen.
http://de.php.net/manual/de/function.date.php

EDIT:
Hallo Dodger77
Ich glaub ich war zu langsam.

noch mal EDIT: @ClemensSchnitzler
schau dir auch mal den Code an

Code: Alles auswählen

   $datum = strtotime($aValue["Created"]);
   $tag = date("j",$datum);
   $monat = date("m",$datum);
   $jahr = date("Y",$datum); 
Zitat aus PHP Manual
Anmerkung: Um einen Timestamp aus aus einem Datums-String zu erzeugen, können Sie die Funktion strtotime() benutzen. Zusätzlich bieten einige Datenbanken Funktionen, um Ihre Datumsfromate in Timestamps umzuwandeln (wie zum Beispiel MySQL's UNIX_TIMESTAMP Funktion.
In der Ruhe liegt die Kraft den wer suchet der findet
Wer Rechtschreibfehler findet kann sie behalten, Codefehler können gemeldet werden.
ClemensSchnitzler
Beiträge: 137
Registriert: Di 17. Aug 2004, 12:32
Kontaktdaten:

Wunderbar

Beitrag von ClemensSchnitzler »

Ich habe folgendes eingefügt:

Code: Alles auswählen

$uhrzeit = date("H:i:s",$datum);
und meine Datumsausgabe wie folgt erweitert:

Code: Alles auswählen

echo '<div class="datum">Erstellt am: ' . $tag . $monat . $jahr . ', um ' . $uhrzeit . ' Uhr</div>';
Da das Ganze funktioniert, denke ich, dass es richtig ist.

Viele Grüße und Vielen Dank

Clemens
php0815
Beiträge: 373
Registriert: Mi 26. Okt 2005, 12:12
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von php0815 »

Und ich habe heute genug programmiert und geholfen.
Habe im Urlaub was besseres vor und Adele
In der Ruhe liegt die Kraft den wer suchet der findet
Wer Rechtschreibfehler findet kann sie behalten, Codefehler können gemeldet werden.
Gesperrt