[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Modul Newsboard möglich ? - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

Modul Newsboard möglich ?

6. Sep 2005, 12:11

Hallo,

ich suche nach einer Funktion, mit Redaxo ein Newsboard aufbauen zu können.
Ein Modul, welches in diese Richtung geht ist die Blätterbare/Paginated Artikelliste.

Ich stelle mir das so vor:

Ich habe eine Liste, die mir alle Artikel in dieser Kategorie (die online sind) nach Erstellungsdatum sortiert anzeigt.
Allerdings soll nicht der ganze Text der Artikel angezeigt werden, sondern nur ein Vorschautext, eventuell mit Bild. Nach einem Klick auf einen Link (..mehr) bekommt man den ganzen Artikel angezeigt.

Vielleicht kann man das auch mit der Beschreibung unter "Metadaten" so hinbekommen. Allerdings sind dort keine Formatierungen möglich.

Hat jemand eine Idee ?

mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

6. Sep 2005, 12:19

Hej,

meines Wissens hatte ich in der einfachen Demo eine Articlelist mit eingebaut. Die verwendet glaube ich die Angaben unter Metadaten/Sonstiges.

Thomas

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

6. Sep 2005, 12:23

Hi,

korrekt, hatte ich auch schon gefunden.
Nur bleibt doert auch noch die Nicht-Formatierbarkeit der Beschreibung und wo ich diese eingeben muß, finde ich nicht ganz glücklich.

Werden die Artikel dabei auch nach Erstellungsdatum angezeigt ?


mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

6. Sep 2005, 12:29

Hej,

ich glaube nicht. Musst du mal im Source nachsehen.

Du könntest auch die ersten 100 Zeichen eines Artikels auslesen und diese dann darstellen lassen.

Thomas

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

Re: Modul Newsboard möglich ?

6. Sep 2005, 13:00

Hi

warum änderst du für dich die "Blätterbare/Paginated Artikelliste" nicht einfach auf deine Bedürfnisse ab. Dieses Modul hat doch, wie du schon selbst sagtst, fast alles was du brauchst.

Gruß,
Markus

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

6. Sep 2005, 13:37

Hi,

ich versuche gerade einen anderen Weg.

Ich möchte in dem WYSIWYG-Modul ein zweites <textarea>feld und ein normales <input>-feld oberhalb des jetzigen einbinden.

In dem neuen Textareafeld soll die "Beschreibung" und in das Inputfeld der "Name" ais der Seite "Metadaten erscheinen.

Damit wären diese Felder zwar doppelt (nähmlich hier und auf der Seite "Metadaten" verfügbar, es ist für den Benutzer damit aber leichter verständlich, das er 1. den Titel, 2. den Vorschautext und 3. den Haupttext anlegen soll. In Zusammenarbeit mit einem Articlelist-Modul auf der Startseite hätte man dann ein funktionierendes Newsboard.

Ich bekomme nur diese Felder nicht in das Modul eingebunden.

mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

6. Sep 2005, 13:42

Hej,

also ich würde nur das wysiwyg--modul anzeigen lassen. Als Beschreibung würde ich vom Artikel die ersten 100 Zeichen darstellen. Der Title wäre ganz einfach der Artikelname. Warum kompliziert wenn es einfacher geht?

Thomas

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

7. Sep 2005, 13:03

Hallo

Code: Alles auswählen

also ich würde nur das wysiwyg--modul anzeigen lassen. Als Beschreibung würde ich vom Artikel die ersten 100 Zeichen darstellen. Der Title wäre ganz einfach der Artikelname. Warum kompliziert wenn es einfacher geht? 
Ok, die Idee ist vielleicht gar nicht schlecht.
Nur, wie stelle ich in einer Artikelliste diese Inhalte dar.
Die ganzen Artikellisten im Downloadbereich lesen immer nur den Namen und die Description aus. Nicht aber den Inhalt :cry:

Und, wie begrentze ich den Text ? Und, wie kann man es dann erreichen, das ein Vorschaubild in der Artikelliste mit angezeigt wird. (Ohne das ich auf die Seite "Metadaten" wechseln muß ?). In dem Artikel selbst dann aber nicht.

Ich habe nun schon einige Stunden experimentiert. Ich komme aber da nicht hin.

Ich stelle mir das Modul so vor, wie man es von z.B. stern.de, spiegel.de etc. kennt: Kurzer Text mit Vorschaubild, nach Klick auf "mehr" vollständiger Text mit anderen Bildern.

mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

7. Sep 2005, 13:39

Hi holger
holger hat geschrieben:Hallo
Ok, die Idee ist vielleicht gar nicht schlecht.
Nur, wie stelle ich in einer Artikelliste diese Inhalte dar.
Die ganzen Artikellisten im Downloadbereich lesen immer nur den Namen und die Description aus. Nicht aber den Inhalt :cry:

Und, wie begrentze ich den Text ? Und, wie kann man es dann erreichen, das ein Vorschaubild in der Artikelliste mit angezeigt wird. (Ohne das ich auf die Seite "Metadaten" wechseln muß ?). In dem Artikel selbst dann aber nicht.

Ich habe nun schon einige Stunden experimentiert. Ich komme aber da nicht hin.

Ich stelle mir das Modul so vor, wie man es von z.B. stern.de, spiegel.de etc. kennt: Kurzer Text mit Vorschaubild, nach Klick auf "mehr" vollständiger Text mit anderen Bildern.

mfg
Holger

Code: Alles auswählen

<?php 
  function getArticleContent( $artId) {
    ob_start();
    $article = new article();
    $article->setArticleId( $artId);
    $article->getArticle();
    $content = ob_get_contents();
    ob_end_clean();

    return truncate( $content, 100); // Die ersten 100 Zeichen
  }

  $cat = OOCategory::getCategoryById(REX_CATEGORY_ID);
  $childs = $cat->getChildren( true);

  if ( is_array( $childs)) {
    foreach ( $childs as $child) {
      $content = getArticleContent( $child->getId());
      $metaFile = $child->getFile();
      $media = OOMedia::getMediaByFileName( $metaFile);
      printf( '<div>%s</div><div>%s</div>', $media->toHTML(), $content); 
    }
  }


?>
Dieses Modul liest von der Kategorie in der es sich befindet alle Unterkategorien aus und stellt diese als DIV Liste dar.

Damit die Funktion truncate() vorhanden ist, muss das import/export addon installiert/aktiviert sein!

ungetestet!

Gruß,
Markus

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

7. Sep 2005, 20:32

Hallo,

danke erstmal für dein script.

Ich möchte nur keine Kategorien auslesen, sondern nur die Artikel einer Kategorie.

Wird bei der Zählung der 100 Zeichen der html-code abgezogen ?
Ansonsten kann schon eine Tabelle die 100 Zeichen ausmachen.
Und dann sieht man vom Inhalt gar nichts.

mfg
Holger.
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

7. Sep 2005, 21:00

Hi,

ich versuche hier nochmal meinen Gedankengang zu erklären. Scheinbar ist diese ansich simple Funktion wohl hier nicht so einfach zu erstellen.

Also, ich habe ein Modul "News" erstellt:

Code: Alles auswählen

Bitte gib den Vorschautext ein, der zu Sehen sein soll:<br>
<textarea name=VALUE[2] cols=80 rows=10 class=inp100>REX_VALUE[2]</textarea>
<br>
Gib das Vorschaubild ein, das zu sehen sein soll:
<br>
REX_MEDIA_BUTTON[9]
<?
if ("REX_FILE[9]" != "")
{
 echo "<img src=$REX[HTDOCS_PATH]files/REX_FILE[9]>";
}
?>
<br>

 Bitte gib den Haupttext ein der zu Sehen sein soll:<br>
<?php

$a = new rex_wysiwyg_editor();
$a->buttonrow1 = "bold,italic,separator,bullist,numlist,separator,linkHack,unlink,insertEmail,separator,cut,copy,pasteRichtext,cleanup,removeformat,separator,code";
$a->buttonrow2 = "tablecontrols, separator, visualaid,separator,undo,redo,separator,forecolor,charmap,separator,image";
$a->stylesheet = "/redaxo/files/maincg.css";
$a->content = "REX_VALUE[1]";
$a->id = 1;
$a->show();

?>
Hiermit kann ich einen Vorschautext, ein Vorschaubild und einen Haupttext eingeben.

Wenn man dieses Modul selbst allein aufruft, bekommt man in der Ausgabe nur! den Haupttext angezeigt

Code: Alles auswählen

REX_HTML_VALUE[1]
Ich möchte nun eine Artikelliste (keine Kategorienliste), mit der ich jeweils den Vorschautext und das Vorschaubild dargestellt bekomme. Und zwar von allen Artikeln, die online sind und sich in dieser Kategorie befinden.
Unter dem Vorschautext und Bild soll ein Link sein (..mehr), der mich zu dem eigentlichen Haupttext führt. (Also zur Ausgabe des Newsmoduls)

Ich hoffe, das war verständlich.

mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

8. Sep 2005, 09:46

Hi

Jetzt mal mit "behebung" des Problems, auf die 100 ersten Textzeichen (unschönb gelöst) und mit Artikeln statt Kategorien

Code: Alles auswählen

<?php
  function getArticleContent( $artId) {
    ob_start();
    $article = new article();
    $article->setArticleId( $artId);
    $article->getArticle();
    $content = ob_get_contents();
    ob_end_clean();

    return truncate( strip_tags( $content), 100); // Die ersten 100 Zeichen
  }

  $cat = OOCategory::getCategoryById(REX_CATEGORY_ID);
  $childs = $cat->getArticles( true);

  if ( is_array( $childs)) {
    foreach ( $childs as $child) {
      $content = getArticleContent( $child->getId());
      $metaFile = $child->getFile();
      $media = OOMedia::getMediaByFileName( $metaFile);
      printf( '<div>%s</div><div>%s</div>', $media->toHTML(), $content);
    }
  }


?>
ungetestet!

Gruß,
Markus

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

8. Sep 2005, 15:45

Hallo,

hier scheint es noch ein Problem zu geben:

Code: Alles auswählen

Fatal error: Call to undefined function: getmediabyfilename()
mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

8. Sep 2005, 16:07

holger hat geschrieben:

Code: Alles auswählen

Fatal error: Call to undefined function: getmediabyfilename()
Ach ja, hab ich vergessen zu erwähnen...

Die Methode getmediabyfilename() gibts nur in der cvs version von der oomedia Klasse.

Gruß,
Markus

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

8. Sep 2005, 18:08

Ok,

ich habe jetzt die CVS-Version.

Nun gibt es das:

Code: Alles auswählen

Fatal error: Cannot redeclare getarticlecontent() (previously declared in C:\wampp2\htdocs\redaxo30\redaxo\include\classes\class.article.inc.php(356) : eval()'d code:40) 
mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

8. Sep 2005, 18:22

Hi,

da Du nun die neuste CVS Version hast, geht das auch noch ein bisschen einfacher:

Code: Alles auswählen

<?php

  $cat = OOCategory::getCategoryById(REX_CATEGORY_ID);
  $childs = $cat->getArticles( true);

  if ( is_array( $childs)) {
    foreach ( $childs as $child) {
      $content = truncate( strip_tags( $child->getArticleContent()));
      $media = $child->getFileMedia();
      printf( '<div>%s</div><div>%s</div>', $media->toHTML(), $content);
    }
  }


?>
ungetestet!

Du darfst übrigens auch gerne selbst versuchen...

Gruß,
Markus

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

8. Sep 2005, 19:33

Code: Alles auswählen

Du darfst übrigens auch gerne selbst versuchen... 
Danke für die Zaunlatte :) Das mache ich auch schon die ganze Zeit.
Aber wie ich sehe, ist es scheinbar auch nicht so einfach.

Funktionieren tut das Script irgendwie überhaupt gar nicht.
Jetzt kommt als erstes

Code: Alles auswählen

Fatal error: Call to undefined function: truncate()
Nehme ich diese Funktion einfach raus, kommt als nächstes wieder

Code: Alles auswählen

Fatal error: Call to undefined function: getarticlecontent()

auch beinhaltet das Script ja auch nicht die Funktion, die ich ansprach. :cry:

mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

9. Sep 2005, 09:33

Hi,
holger hat geschrieben: Danke für die Zaunlatte :) Das mache ich auch schon die ganze Zeit.
Aber wie ich sehe, ist es scheinbar auch nicht so einfach.
Naja, ich stell mich auch ein bisschen blöd an ;)
holger hat geschrieben: Funktionieren tut das Script irgendwie überhaupt gar nicht.
Jetzt kommt als erstes

Code: Alles auswählen

Fatal error: Call to undefined function: truncate()
Wenn du die neuste CVS Version hast, müsste die function truncate eigentlich im import/export addon mit dabei sein.
holger hat geschrieben: Nehme ich diese Funktion einfach raus, kommt als nächstes wieder

Code: Alles auswählen

Fatal error: Call to undefined function: getarticlecontent()
Ist behoben...


Also gut,

Code: Alles auswählen

<?php

  $cat = OOCategory::getCategoryById(REX_CATEGORY_ID);
  $childs = $cat->getArticles( true);

  if ( is_array( $childs)) {
    foreach ( $childs as $child) {
      $article = new article( $child->getId());
      $content = truncate( strip_tags( $article->getArticleContent()), 100); // Ersten 100 Zeichen
      $media = $child->getFileMedia();
      printf( '<div>%s</div><div>%s</div>', $media->toHTML(), $content);
    }
  }


?> 
Gruß,
Markus

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

9. Sep 2005, 10:11

Hallo

ich glaub, ich gebs auf.

Hast du das script mal bei dir installiert ?

Ich bekomme immer noch die gleichen Fehlermeldungen.

mfg
holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

9. Sep 2005, 11:05

Also gut,

jetzt hab ichs getestet, mit der Neusten CVS Version!
Zieh dir bitte die neuste Version nochmal.

Code: Alles auswählen

<?php
if (!function_exists('truncate'))
{
   function truncate($string, $length = 80, $etc = '...', $break_words = false)
   {
      if ($length == 0)
         return '';

      if (strlen($string) > $length)
      {
         $length -= strlen($etc);
         if (!$break_words)
            $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length +1));

         return substr($string, 0, $length).$etc;
      }
      else
         return $string;
   }
}

  $cat = OOCategory::getCategoryById(REX_CATEGORY_ID);
  $childs = $cat->getArticles( true);

  if ( is_array( $childs)) {
    foreach ( $childs as $child) {
      $id = $child->getId();
      if ( $id == REX_ARTICLE_ID) continue;
      $article = new article( $id);
      $content = truncate( strip_tags( $article->getArticleContent()), 150); // Ersten 100 Zeichen
      $media = $child->getFileMedia();
      print( '<div class="news-article">');

      if ( $media != null) {
        printf( '<div class="image">%s</div>', $media->toHTML());
      }

      printf( '<div class="text">%s</div>', $content);
      print( '</div');
    }
  }


?> 
Gruß,
Markus

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

9. Sep 2005, 11:14

Und jetzt auch in der Modulsammlung zu finden:

http://www.redaxo.de/165-Moduldetails.html?module_id=33

Gruß,
Markus

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

11. Sep 2005, 19:15

Hallo,

ich gehe mit der Lösung noch ein wenig schwanger.

Einen Text einfach so irgendwo kürzen, finde ich persönlich nicht so gut.
Was ist z.B., wenn ich einen Text schreiben will, der nur 120 Zeichen lang ist, aber bei 100 wird schon gekürzt. Das macht dort nicht soviel Sinn.

Deshalb habe ich meine Idee weiterverfolgt und möchte hier einmal meine Lösung vorstellen.

Ich habe 1. ein Modul "Newsliste" programmiert. Diese liest die Artikel aus der Kategorie aus und zeigt gleich die Inhalte an. (Genaugenommen nur den Inhalt des jeweiligen Value1)

Um nun auch einen "weiterführenden" Text anzulegen, habe ich 2. ein Modul "Newsartikel" entworfen. In diesem Modul kann man einen freien Vorschautext und einen freien Haupttext eingeben.

Nun passiert folgendes:
Man fügt in den Startartikel das Modul "Newsliste" ein.
Die weiteren Artikel kann man nun entweder mit den "normalen" Textmodulen erstellen oder man nimmt das Modul "Newsartikel".

Ruft man den Startartikel auf, zeigt dieser die Inhalte der einzelnen Artikel an. Ist ein Artikel mit dem "Newsartikel"-Modul erstellt worden, findet man dort einen "mehr..."-Link, der zu dem Haupttext führt.
Ist ein Artikel normal mit dem Text-WYSIWYG-Modul erstellt worden, sieht man den Text auch ganz normal, nur halt ohne "mehr..."-Link.

Der Vorteil des "Newsartikel"-Moduls ist auch, das der Vorschautext ein oder mehrere andere Bilder enthalten kann als der nach dem Klick erscheinende Haupttext.

Ich füge hier beide Module zum probieren bei. Vielleicht hat jemand ja noch einen Einfall dazu.

Ein kleines Manko habe ich schon entdeckt:
Wenn man einen Artikel mit dem "Newsartikel"-Modul und noch zusätzlich mit anderen Text-Modulen erstellt, dann muß das "Newsartikel"-Modul an erster Stelle sein, sonst funktioniert die Newsliste nicht richtig.
Vielleicht hat jemand dafür ja eine Lösung.

So, hier ist erstmal der Code:

Newsliste:

Code: Alles auswählen

[b]Eingabe:[/b]

Liste der in dieser Kategorie angelegten Artikel


[b]Ausgabe:[/b]

<?php
$cat = OOCategory::getCategoryById($this->getValue("category_id"));
$article = $cat->getArticles( true);
if (is_array($article)) 
{
 foreach ($article as $var) 
 {
  $articleId = $var->getId();
  $articleName = $var->getName();
  $articleDescription	= $var->getDescription();
  $slice = OOArticleSlice::getFirstSliceForArticle($var->getId());
  $value = $slice->getValue(1);
//  $file = $slice->getFile(1);

  if ($var->getValue(_startpage) != 1) 
  {
echo '<div class="article-list"><h1>'.$articleName.'</h1><br />';
echo $value;
echo '<br>';
if ($slice->getValue(4) !="") {
echo '<a href="'.rex_getUrl($articleId).'">mehr....</a>';
}
echo '</div>';
  }
 }
}
?>

Newsartikel:

Code: Alles auswählen

[b]Eingabe:[/b]

Bitte gib den Vorschautext ein, der auf der Übersichtsseite zu sehen sein soll:<br>
<!-- <textarea name=VALUE[1] cols=80 rows=10 class=inp100>REX_VALUE[1]</textarea> -->
<?php
$a = new rex_wysiwyg_editor();
$a->buttonrow1 = "bold,italic,separator,bullist,numlist,separator,linkHack,unlink,insertEmail,separator,cut,copy,pasteRichtext,cleanup,removeformat,separator,code";
$a->buttonrow2 = "tablecontrols, separator, visualaid,separator,undo,redo,separator,forecolor,charmap,separator,image";
// $a->buttonrow3 = "link";
// $a->buttonrow4 = "rowseparator,formatselect,fontselect,fontsizeselect,forecolor,charmap";
$a->stylesheet = "/red/files/main.css";
$a->content = "REX_VALUE[1]";
$a->id = 1;
$a->show();

?>
<br><br>
Bitte gib den weiteren Text ein, der nach dem Klick zu sehen sein soll: (Hinweis: Der Vorschautext wird dann nicht mit angezeigt !)<br>
<?php
$a = new rex_wysiwyg_editor();
$a->buttonrow1 = "bold,italic,separator,bullist,numlist,separator,linkHack,unlink,insertEmail,separator,cut,copy,pasteRichtext,cleanup,removeformat,separator,code";
$a->buttonrow2 = "tablecontrols, separator, visualaid,separator,undo,redo,separator,forecolor,charmap,separator,image";
// $a->buttonrow3 = "link";
// $a->buttonrow4 = "rowseparator,formatselect,fontselect,fontsizeselect,forecolor,charmap";
$a->stylesheet = "/red/files/main.css";
$a->content = "REX_VALUE[4]";
$a->id = 4;
$a->show();

?><br>
<?php
$jahr = date('Y');
$monat = date('m');
$tag = date('d');

$jahr_von_val = 'REX_VALUE[5]';
$monat_von_val = 'REX_VALUE[6]';
$tag_von_val = 'REX_VALUE[7]';

$jahr_bis_val = 'REX_VALUE[8]';
$monat_bis_val = 'REX_VALUE[9]';
$tag_bis_val = 'REX_VALUE[10]';

if ( empty($jahr_von_val)) $jahr_von_val = $jahr;
if ( empty($monat_von_val)) $monat_von_val = $monat;
if ( empty($tag_von_val)) $tag_von_val = $tag;

if ( empty($jahr_bis_val)) $jahr_bis_val = $jahr +9;
if ( empty($monat_bis_val)) $monat_bis_val = $monat;
if ( empty($tag_bis_val)) $tag_bis_val = $tag;

?>
Online von: JJJJ.MM.TT 
<select name="VALUE[5]" >
<?php
foreach (range( $jahr,$jahr+9) as $jahr_von) {
   echo '<option value="'.$jahr_von.'" ';
   
   if ( $jahr_von_val ==$jahr_von ) {
      echo 'selected="selected" ';
   }
   echo '>'.$jahr_von.'</option>';
}
?>

</select><select name="VALUE[6]" >
<?php
foreach (range(1,12) as $monat_von) {
   echo '<option value="'.$monat_von.'" ';
   
   if ( $monat_von_val==$monat_von ) {
      echo 'selected="selected" ';
   }
   echo '>'.$monat_von.'</option>';
}
?>

</select><select name="VALUE[7]" >
<?php
foreach (range(1,31) as $tag_von) {
   echo '<option value="'.$tag_von.'" ';
   
   if ( $tag_von_val==$tag_von ) {
      echo 'selected="selected" ';
   }
   echo '>'.$tag_von.'</option>';
}
?>
</select>&nbsp;&nbsp;&nbsp;&nbsp;

Online bis: JJJJ.MM.TT 
<select name="VALUE[8]" >
<?php
foreach (range($jahr,$jahr+9) as $jahr_bis) {
   echo '<option value="'.$jahr_bis.'" ';
   
   if ( $jahr_bis_val==$jahr_bis ) {
      echo 'selected="selected" ';
   }
   echo '>'.$jahr_bis.'</option>';
}
?>

</select><select name="VALUE[9]" >
<?php
foreach (range(1,12) as $monat_bis) {
   echo '<option value="'.$monat_bis.'" ';
   
   if ( $monat_bis_val==$monat_bis ) {
      echo 'selected="selected" ';
   }
   echo '>'.$monat_bis.'</option>';
}
?>

</select><select name="VALUE[10]" >
<?php
foreach (range(1,31) as $tag_bis) {
   echo '<option value="'.$tag_bis.'" ';
   
   if ( $tag_bis_val==$tag_bis ) {
      echo 'selected="selected" ';
   }
   echo '>'.$tag_bis.'</option>';
}
?>
</select><br/><br/>

<?php

if ( $jahr_von_val != ''
     && $monat_von_val != ''
     && $tag_von_val != ''
     && $jahr_bis_val != ''
     && $monat_bis_val != ''
     && $tag_bis_val != '') {
  $von = mktime( 0, 0, 0, $monat_von_val, $tag_von_val, $jahr_von_val);
  $bis  = mktime( 0, 0, 0, $monat_bis_val, $tag_bis_val, $jahr_bis_val);
  $jetzt = time();

  if( $jetzt >= $von && $jetzt <= $bis) {
    $state = '<span style="color: #00aa00;">online</color>';
  } else {
    $state = '<span style="color: #aa0000;">offline</color>';
  }

  echo 'Artikel aufgrund der Datumseinstellungen '.$state;
} 
?>
<br>




[b]Ausgabe:[/b]

<a href="javascript:window.history.back()" onMouseover="window.status='Zurück';return true;" onMouseout="window.status='CHRONO net';return true;"><img src="pics/back.gif" alt="Back" border="0"></a><br><br>
REX_HTML_VALUE[4]
mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

11. Sep 2005, 20:22

Hi Holger,

wärst du so frei und deine Arbeit unter myRedaxo in die Modulliste einzupflegen.

Danke und Gruß,
Markus

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

11. Sep 2005, 20:54

Hi,

ja, das habe ich auch vor.

Ich möchte aber, bevor ich das dort "offiziell" veröffentliche, gern noch von anderen eine Meinung, Verbesserungsvorschläge bzw. eventuelle Fehlerquellen bekommen.

mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Benutzeravatar
holger
Beiträge: 403
Registriert: 21. Jun 2005, 13:21
Wohnort: Sehnde / Hannover / lower saxony
Kontaktdaten: Website

13. Sep 2005, 17:48

Hallo Markus,

zu deinem Script

Code: Alles auswählen

<?php 
if (!function_exists('truncate')) 
{ 
   function truncate($string, $length = 80, $etc = '...', $break_words = false) 
   { 
      if ($length == 0) 
         return ''; 

      if (strlen($string) > $length) 
      { 
         $length -= strlen($etc); 
         if (!$break_words) 
            $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length +1)); 

         return substr($string, 0, $length).$etc; 
      } 
      else 
         return $string; 
   } 
} 

  $cat = OOCategory::getCategoryById(REX_CATEGORY_ID); 
  $childs = $cat->getArticles( true); 

  if ( is_array( $childs)) { 
    foreach ( $childs as $child) { 
      $id = $child->getId(); 
      if ( $id == REX_ARTICLE_ID) continue; 
      $article = new article( $id); 
      $content = truncate( strip_tags( $article->getArticleContent()), 150); // Ersten 100 Zeichen 
      $media = $child->getFileMedia(); 
      print( '<div class="news-article">'); 

      if ( $media != null) { 
        printf( '<div class="image">%s</div>', $media->toHTML()); 
      } 

      printf( '<div class="text">%s</div>', $content); 
      print( '</div'); 
    } 
  } 


?>
hätte ich jetzt eine Anwendung.

Hierfür bräuchte ich aber eine kleine Modifikation.
Es soll nämlich nur ein Artikel angezeigt werden. Und zwar der, mit der kleinsten Priorität in dieser Kategorie. (Also der, der im Backend obensteht. Unterkategorien sollen ignoriert werden)
Falls z.B. der Artikel mit der Prio 1 gerade offline ist, soll der mit der Prio 2 angezeigt werden.

Hast du da ne schnelle Lösung ?

mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //

CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net

Zurück zu „Allgemeines [R3]“