[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Brauchbares News-Addon gesucht - 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/
netmanix

Brauchbares News-Addon gesucht

11. Sep 2008, 20:44

Hallo,

ich suche ein News-Addon für 4.1 das auch funktioniert.
Irgendwie sind die entweder nicht fertig oder sie lassen sich nicht installieren.

Suche ein Addons dass die News kategoriesiert und auch nach Kategorien ausgeben kann.

Erfasst werde sollt folgende Daten:

Datum der News
Titel der News
2. Titel
Kategorie:
Online von bis
Anreißertext
Bild für Teaser
Newstext

ssurfer
Beiträge: 170
Registriert: 21. Nov 2007, 10:36

12. Sep 2008, 07:25

Wie wäre es wenn du dir den Downloadbereich anschaust?

Auf anhieb gefunden: http://www.redaxo.de/180-Addondetails.html?addon_id=336

Sabse
Beiträge: 97
Registriert: 1. Apr 2008, 15:51
Wohnort: Wörth am Rhein
Kontaktdaten: Website

12. Sep 2008, 11:51

Das Addon habe ich schon mal ausprobiert, aber als brauchbar kann man es nicht bezeichnen.

Wenn man darin eine Nachricht speichert, werden die "online von-bis" Daten immer als 00-00-00 erzeugt. Das hat zur Folge, dass die Nachrichten im Frontend nicht angezeigt werden. Erst wenn man in der Datenbank das Datum von Hand eingibt, ist im Frontend etwas zu sehen.

Ich habe das Addon gerade nirgendwo installiert, deshalb kann ich das Problem jetzt nicht genauer beschreiben.

Auf unserer Fussball-Seite, die von Redaxo 3 portiert wurde, läuft immer noch das Addon von Peter Bickel, man kann nur kein Bild mit Hilfe des Mediabuttons einfügen. Bei neuen R4 Installationen bekommt man das Addon glaub ich nicht zum laufen.

Es wurde ja hier im Forum schon ein Blog-Addon angekündigt, vielleicht kann das die News-Addons ersetzen.

Gruß, Sabrina.

Benutzeravatar
ciss
Beiträge: 359
Registriert: 8. Feb 2008, 05:24
Wohnort: Berlin

12. Sep 2008, 12:20

ich hatte bisher noch kein news-addon im einsatz, deswegen bin ich neugierig: was sind die vorteile gegenüber einem modul?

Sabse
Beiträge: 97
Registriert: 1. Apr 2008, 15:51
Wohnort: Wörth am Rhein
Kontaktdaten: Website

12. Sep 2008, 14:08

Beim Addon werden die News nicht alle als einzelner Artikel angelegt, sondern in einer eigenen Tabelle.
Deren Inhalt kann durch ein Modul auf jeder beliebigen Seite ausgegeben werden, und man kann auch nach Kategorien filtern, also z.B auf der Startseite alle News ausgeben, und auf einer anderen Seite nur die News zu einem bestimmten Thema.
Außerdem wird auch im Backend der letzte Eintrag immer oben angezeigt, was bei den Artikeln nicht so ist.
Der Redakteur braucht auch keine Editierberechtigung für die Kategorie, in der die News ausgegeben werden, sondern es muss nur das News-Addon für ihn freigeschaltet werden.

Mit News Modulen habe ich auch schon rumprobiert, aber nichts richtig zufriedenstellendes gefunden.

netmanix

12. Sep 2008, 14:29

Schade :-(
Eine Lösung über die Artikel wäre auch gut. Allerdings nur, wenn ich die User dazu zwingen könnte in der Kategorie auch betimmte Metas auszufüllen. Das geht aber nicht. Metas sind in Redaxo nur optional und es gibt keine mir bekannte Möglichkeit die Eingabe zu erzwingen.

An die Entwickler: Bitte macht es möglich

jfax
Beiträge: 41
Registriert: 4. Sep 2006, 19:27
Wohnort: stuttgart

9. Okt 2008, 10:37

@ Sabse: Ist schon ne Weile her, aber ich hatte auch Probleme mit den Datumsfeldern. Ich hatte dazu aber etwas in der _readme.txt in dem Addon geschrieben. So ging das dann.

Sabse
Beiträge: 97
Registriert: 1. Apr 2008, 15:51
Wohnort: Wörth am Rhein
Kontaktdaten: Website

9. Okt 2008, 16:50

Also ich finde in der Readme-Datei nichts über Datumsfelder.
Ich habe mir das Addon gerade noch mal heruntergeladen, falls sich an der Datei was geändert hat, aber da steht auch nichts drin.

jfax
Beiträge: 41
Registriert: 4. Sep 2006, 19:27
Wohnort: stuttgart

9. Okt 2008, 17:06

Sorry, das hatte in der Tat gefehlt. Ist aktualisiert.

Auszug bezüglich dem Datumproblem:

Die Datumsfelder moegen bei mir nicht richtig.

Loesung: /addon_framework/classes/form/fields/fiels.dateField.inc.php

Code: Alles auswählen

  function buildSelectBoxes()
  {
    $select = new rex_select();
    // hier muss getName() nicht $name verwendet werden (section Prefix!)
    $select->setName($this->getName() . '[]');
    $select->setSize(1);
    $select->setStyle('width: 24%;');

    $this->daySelect = $select;
    $this->monthSelect = $select;
    $this->yearSelect = $select;

in

Code: Alles auswählen

  function buildSelectBoxes()
  {
    $select1 = new rex_select();
    // hier muss getName() nicht $name verwendet werden (section Prefix!)
    $select1->setName($this->getName() . '[]');
    $select1->setSize(1);
    $select1->setStyle('width: 24%;');
    $select2 = new rex_select();
    $select2->setName($this->getName() . '[]');
    $select2->setSize(1);
    $select2->setStyle('width: 24%;');
    $select3 = new rex_select();
    $select3->setName($this->getName() . '[]');
    $select3->setSize(1);
    $select3->setStyle('width: 24%;');

    $this->daySelect = $select1;
    $this->monthSelect = $select2;
    $this->yearSelect = $select3;


und

Code: Alles auswählen

  function _getValue()
  {
    $this->buildSelectBoxes();

    $value = parent :: _getValue();

    if (!is_array($value))
    {
    	// beim add, auf aktuelle Datumswerte zurückgreifen
      if ($value == 0 || $value == '')
      {
        $value = time();
      }

			// initialwerte
      $day = date('j', $value);
      $month = date('n', $value);
      $year = date('Y', $value);
    }
    else

in

Code: Alles auswählen

  function _getValue()
  {
    $this->buildSelectBoxes();

    $value = parent :: _getValue();

    if (!is_array($value))
    {
    	// beim add, auf aktuelle Datumswerte zurückgreifen
      if ($value == 0 || $value == '')
      {
		$value = time();
		// initialwerte
		$day = date('j', $value);
		$month = date('n', $value);
		$year = date('Y', $value);
      } else if ($_GET['func'] == 'edit') {
		$_value = explode("-", $value);
		$day = $_value[2];
		$month = $_value[1];
		$year = $_value[0];
	  } 
    }
    else
aendern.

jfax
Beiträge: 41
Registriert: 4. Sep 2006, 19:27
Wohnort: stuttgart

13. Okt 2008, 11:40

Stimmt - sorry, konnte ich eben nachvollziehen. Es ging dann eben bei mir mit der aktuellen Version des Addon Frameworks (für 4.0), und dann dort wie beschrieben die classes/form/fields/field.dateField.inc.php ersetzen.

In die DB sollen die Felder online_date und offline_date in der Form "2008-06-05" beschrieben werden. Der Feldtyp ist "date".

Wenn man in der news/pages/entries.inc.php die ganzen DEBUGs auf true setzt, soll es wie folgt ausgeführt werden:
Query: UPDATE `rex_336_news` SET `clang`= '0', `online_date`= '2008-08-18', `offline_date`= '2008-11-29', `name`= 'neuste News',

pr0nflake
Beiträge: 18
Registriert: 12. Mär 2008, 15:28

13. Okt 2008, 12:29

Hab des vorherige posting gelöscht da es eventuell etwas zu verwirrend war.
Folgendes Problem besteht dennoch dem ich gerade dabei bin auf die Schliche zu kommen.

(rex41 mit addonframework_rc6)

Bei einem dateField() wird der Wert beim Anlegen korrekt auf (heutiges Datum) 2008-10-13 gesetzt. Beim speichern wird in die DB jedoch 2000-12-23 geschrieben. Also ich glaub das da irgendwas mit der mktime schief läuft oder der timestamp verdreht wird.

Edit:
Glaub weis worans liegt, bzw. wird ja der timestamp in die DB geschrieben und wenn da ein date feld statt nem varchar ist jo dann?
Dann wird aus 1223848800 = 2008-12-23 was falsch ist ;)

Edit2:
Also jetzt entweder das richtige Datum in die DB eintragen oder das Datum wieder via timestamp für die Dropdown Liste zerlegen.

Edit3:
Statt dem Date field einfach ein Varchar verwenden und die Änderungen in der class.dateField zurücknehmen/nicht anwenden dann funktioniert alles. Varchar statt Date in der Datenbank verwenden!

pr0nflake
Beiträge: 18
Registriert: 12. Mär 2008, 15:28

13. Okt 2008, 12:51

und damit jetzt nicht der Timestamp in der Auflistung im Backend (entries.php) sondern ein schönes Datum angezeigt wird:

$colOnline = new resultColumn('online_date', 'Erstellt am', 'strftime', '%d.%m.%Y');

martinpet
Beiträge: 59
Registriert: 17. Okt 2008, 13:06

20. Okt 2008, 16:30

Irgendwie geht das mit dem Datum noch nicht richtig.

Nach den genannten Modifikationen in der field.datefield.inc.php, aber auch nach der Anpassung des entsprechenden Eintrages mit $colOnline in der entries.php und der Umstellung des Feldtyps in der DB:

Nach dem Anlegen eines Artikels wird im Backend zwar das richtige Erstell-Datum angezeigt, in die DB wird es aber nicht geschrieben. In den beiden Varcharfeldern Online/Offline-Date steht 1224453600 was ebenso im Frontend ausgegeben wird.

Wenn ich den Eintrag im Backend bearbeite ändert sich das Erstellungsdatum im Backend auf den 01.01.1995, das entsprechende DB-Feld bleibt aber wiederrum leer. Die Werte in den beiden Feldern Online/Offline-Date werden nach dem Bearbeiten in 788914800 geändert, was wohl ebenfalls dem 01.01.1995 entspricht.

Hat jemand eine Ahnung woran das liegen kann und wie ich es zum laufen bekomme? Bin grad etwas am verzweifeln :(

Benutzeravatar
megpro
Beiträge: 74
Registriert: 16. Nov 2006, 13:17
Wohnort: Sassnitz / Rügen

Datum geht jetzt

14. Nov 2008, 00:25

Hallo,

habe das Modul zum Laufen gebracht (also mit korrekten Datumsangaben) indem ich /addon_framework/classes/form/fields/fiels.dateField.inc.php folgendermaßen modifiziert habe:

Code: Alles auswählen

<?php

/**
 * Addon Framework Classes
 * @author staab[at]public-4u[dot]de Markus Staab
 * @author <a href="http://www.public-4u.de">www.public-4u.de</a>
 * @package redaxo3
 * @version $Id: field.dateField.inc.php,v 1.5 2007/09/10 16:54:16 kills Exp $
 */

class dateField extends rexFormField
{
  var $daySelect;
  var $monthSelect;
  var $yearSelect;

  function dateField($name, $label, $attributes = array (), $id = '')
  {
    $this->rexFormField($name, $label, $attributes, $id);
  }

  function buildSelectBoxes()
  {
    $select1 = new rex_select();
    // hier muss getName() nicht $name verwendet werden (section Prefix!)
    $select1->setName($this->getName() . '[]');
    $select1->setSize(1);
    $select1->setStyle('width: 24%;');
    $select2 = new rex_select();
    $select2->setName($this->getName() . '[]');
    $select2->setSize(1);
    $select2->setStyle('width: 24%;');
    $select3 = new rex_select();
    $select3->setName($this->getName() . '[]');
    $select3->setSize(1);
    $select3->setStyle('width: 24%;');

    $this->daySelect = $select1;
    $this->monthSelect = $select2;
    $this->yearSelect = $select3;

    foreach (range(1, 31) as $day)
      $this->daySelect->addOption($day, $day);

    foreach (range(1, 12) as $month)
      $this->monthSelect->addOption($month, $month);

    foreach (range(1995, 2050) as $year)
      $this->yearSelect->addOption($year, $year);
  }

  /*
   * Prepariert den InsertValue um das Array als String in die DB zu speichern
   * @access protected
   */
  function _getInsertValue()
  {
    $value = parent :: _getInsertValue();
    if (is_array($value))
    {
      $value = mktime(0, 0, 0, $value[1], $value[0], $value[2]);
    }

    return $value;
  }

  /*
   * Prepariert den Value um den String aus der DB als Array zurückzugeben
   * @access protected
   */
  function _getValue()
  {
    $this->buildSelectBoxes();

    $value = parent :: _getValue();

    if (!is_array($value))
    {
    	// beim add, auf aktuelle Datumswerte zurückgreifen
      if ($value == 0 || $value == '')
      {
        $value = time();
      }

			// initialwerte
      $day = date('j', $value);
      $month = date('n', $value);
      $year = date('Y', $value);
    }
    else
    {
    	// wiederanzeige nach POST
      $day = $value[0];
      $month = $value[1];
      $year = $value[2];
    }

    $this->daySelect->setSelected($day);
    $this->monthSelect->setSelected($month);
    $this->yearSelect->setSelected($year);

    // Hier immer den aktuellen Timestamp zurückliefern, da daraus der Wert für die DB entsteht
    return mktime(0, 0, 0, $month, $day, $year);
  }

  function get()
  {
    $this->buildSelectBoxes();

    // Default Werte holen
    $this->getValue();

    // Id kann nur in get() gesetzt werden, da vorher die Referenzen zur Section+Form fehlen
    $this->daySelect->setId($this->getId() . '_day');
    $this->monthSelect->setId($this->getId() . '_month');
    $this->yearSelect->setId($this->getId() . '_year');

    return $this->daySelect->get() . $this->monthSelect->get() . $this->yearSelect->get();
  }
}
?>
UND in der Datenbank wie beschrieben Varchar statt Date eingestellt.

Also eine Mischung eurer Lösungen. Jetzt gehts prima.

Nun habe ich jedoch ein weiteres Problem zum Thema KATEGORIEN, welches ich hier mal aufgegriffen habe:

http://forum.redaxo.de/ftopic10523.html?

Würde mich freuen, wenn jemand da eine Lösung hat, oder mich aufklärt, falls ich das falsch verstanden habe.

Jens

NovosProtos
Beiträge: 5
Registriert: 16. Feb 2009, 13:02

16. Feb 2009, 13:46

Hallo zusammen,

ich habe das Problem, dass ich das Datum nicht hinbekomme; auch nicht mit den beschriebenen Änderungen.

Ich installiere also in dieser Reihenfolge:

- Das Addon-Framework (RC6), setze das Recht für den User.
- Das Community-Addon (v1, RC3), setze das Recht für den User. Jedoch importiere ich den Community-Dump und die Files dazu nicht, da ich ja meine eigene Seite habe und lediglich die News-Funktionalität wünsche. Zudam habe ich X-From bereits drauf, lasse ich also auch weg. Einen Community-User gibt es auch nicht bei mir.
- Schliesslich installiere ich das News-Addon, setzte das Recht für den User. Erstelle ein News-Modul mit Hilfe von news_input.module.txt und news_output.php.txt, die Search-Funktionalität lasse ich vorläufig weg; will ja nur News anzeigen lasssen. Die .css files und die Bilder aus dem Ordner "staff_fuer_ordner_images" kopiere ich in den Ordner "files" von Redaxo.

Danach folgen die hier Besprochenen und teilweise in der _readme.txt des News-Addons enthaltenen Änderungen. Allerdings kriege ich einfach keine richtigen Datumsangaben hin. Ohne die Änderung von DATE auf VARCHAR 255 in der DB bleibt es immer bei 0000-00-00; mit der Änderung sehe ich dann einen Timestamp (so etwas wie 1349588900) im Backend. Im Frontend kann mann zwar die News anzeigen lassen (in dem man nicht nur "aktuelle" sondern auch "archivierte" wählt). Sieht dann aber verständlicherweise ein wenig komisch aus ;-)

Kann mir jemand einen Tipp geben? Ich habe bereits unzählige Stunden mit Suchen und Probieren verbracht, aber leider vergebens...

NovosProtos
Beiträge: 5
Registriert: 16. Feb 2009, 13:02

7. Apr 2009, 16:07

Hallo nochmals,

da mir bis jetzt niemand helfen konnte, helfe ich mir halt selber :) Nun bin ich mir sicher, dass das Datum eines News-entries richtig aus der DB gelesen wird. Nun würde ich gerne das Eintragen in die DB debuggen. Kann mir jemand helfen und sagen, welche Klassen (bzw. files) dafür zuständig sind? :roll: Ich nehme an, dass es welche im X-Form und Addon Framework Addon sind...nur welche?

Edit 1: Bin nun ein wenig weitergekommen und habe mal in der class.rex_sql.inc.php
nachgesehen (debugsql=true), was eigentlich von Redaxo geschrieben wird. Ohne die Änderungen, welche hier im Forum beschrieben wurden (ausser die Verschönerung in field.dateField.inc.php) wird folgendes geschrieben:

Code: Alles auswählen

Query: UPDATE `rex_336_news` SET `clang`= 0, `online_date`= 1239141600, `offline_date`= 1270677600, `name`= 'asfdasfd', `teaser`= 'asdfasdf', `subheadline`= 'asdfasf', `article`= 'asdfasdf', `author`= 0, `image`= '', `image_descr`= 'asdf', `filelist`= '', `category`= '||1||', `status`= 1 WHERE `id`=46 AND 1=1 LIMIT 1
Affected Rows: 0
was ja nach zweien timestamps aussieht; dort sollte aber doch ein Datum stehen, so etwas wie "2008-04-08" und "2009-04-08", oder nicht? Falls jemand eine Idee hat: Bitte melden :wink: In der Zwischenzeit suche ich mal weiter...

Edit 2: So, habe endliche eine Lösung gefunden: Zusäztlich zu den Änderungen in der class field.dateField.inc.php des Addon Frameworks wie sie in der _readme.txt des News-Addons beschrieben werden, habe ich noch bei der folgenden Funktion den Rückgabewert geändert

Code: Alles auswählen

function _getInsertValue()
  {
    $value = parent :: _getInsertValue();
    if (is_array($value))
    {
      $value = mktime(0, 0, 0, $value[1], $value[0], $value[2]);
    }

    //return $value;
    return date("Y-m-d", $value);
  }
Nun funktioniert die ganze Sache; ohne weitere Änderungen wie VARCHAR etc. Habe bei mir allerdings das Community-Addon nicht dabei und da die obige Änderung das Addon Framework betrifft, könnte diese Änderung ev. später noch Schwierigkeiten mit anderen Addons und Modulen verursachen, welche ebenfalls das Addon Framework verwenden. Zur Zeit geht es jedenfalls :D

tuxmas
Beiträge: 6
Registriert: 7. Apr 2009, 14:16

9. Apr 2009, 14:49

soweit so gut, das ging bei mir alles noch
die news werden angezeigt, jedoch nur in der listenansicht

wenn ich im modul auf detail gehe, wird mir auf der seite ein fehler ausgespuckt, der bei dem aufruf von showDetail() anstatt showList() passiert.

wieso werden keine details angezeigt?
was passiert bei euch, wenn ihr auf den titel klickt? bei mir gar nix...

vielen dank

NovosProtos
Beiträge: 5
Registriert: 16. Feb 2009, 13:02

9. Apr 2009, 21:35

Ja habe mich scheinbar zu früh gefreut, ist bei mir auch so :(

Konnte zwar über den News-Titel auf einen Artikel verlinken, mehr allerdings auch nicht, hatte dieselben Fehlermeldungen.

Zurück zu „Allgemeines [R4]“