Seite 1 von 1

Artikle List Advanced

Verfasst: Fr 15. Sep 2006, 06:52
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

Verfasst: Fr 15. Sep 2006, 07:26
von Dodger77

Das habe ich studiert!

Verfasst: Fr 15. Sep 2006, 09:35
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

Verfasst: Fr 15. Sep 2006, 09:50
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

habe jetzt ein Echo hinzugefügt

Verfasst: Fr 15. Sep 2006, 10:09
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

Verfasst: Fr 15. Sep 2006, 10:24
von Dodger77
Dann mach doch etwas wie:

Code: Alles auswählen

echo '<div class="datum">' . $tag . $monat . $jahr . '</div>'; 
Ab hier bin ich raus.

Danke

Verfasst: Fr 15. Sep 2006, 10:30
von ClemensSchnitzler
Ich bin halt nicht der hellste in PHP-Skripts. Das hat funktioniert.

Vielen Dank.

Gruss

Clemens

Geht auch Uhrzeit?

Verfasst: Fr 15. Sep 2006, 10:34
von ClemensSchnitzler
Bekommt man da auch die Uhrzeit noch hinzu? Was muss ich dafür eingeben?

Gruss

Verfasst: Fr 15. Sep 2006, 11:18
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 :!: :!:

Ich habe gesucht

Verfasst: Fr 15. Sep 2006, 11:33
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

Verfasst: Fr 15. Sep 2006, 11:38
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

Verfasst: Fr 15. Sep 2006, 11:40
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.

Wunderbar

Verfasst: Fr 15. Sep 2006, 12:02
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

Verfasst: Fr 15. Sep 2006, 12:04
von php0815
Und ich habe heute genug programmiert und geholfen.
Habe im Urlaub was besseres vor und Adele