Brauchbares News-Addon gesucht

Alles über die Anwendung und Entwicklung von AddOns.

Brauchbares News-Addon gesucht

Beitragvon netmanix » 11. Sep 2008, 19: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
Benutzeravatar
netmanix
 
Beiträge: 291
Registriert: 11. Sep 2008, 19:35
Wohnort: Wesel

Beitragvon ssurfer » 12. Sep 2008, 06:25

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

Auf anhieb gefunden: http://www.redaxo.de/180-Addondetails.html?addon_id=336
ssurfer
 
Beiträge: 170
Registriert: 21. Nov 2007, 09:36

Beitragvon Sabse » 12. Sep 2008, 10: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.
Sabse
 
Beiträge: 90
Registriert: 1. Apr 2008, 14:51
Wohnort: Wörth am Rhein

Beitragvon ciss » 12. Sep 2008, 11:20

ich hatte bisher noch kein news-addon im einsatz, deswegen bin ich neugierig: was sind die vorteile gegenüber einem modul?
Benutzeravatar
ciss
 
Beiträge: 359
Registriert: 8. Feb 2008, 04:24
Wohnort: Berlin

Beitragvon Sabse » 12. Sep 2008, 13: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.
Sabse
 
Beiträge: 90
Registriert: 1. Apr 2008, 14:51
Wohnort: Wörth am Rhein

Beitragvon netmanix » 12. Sep 2008, 13: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
Benutzeravatar
netmanix
 
Beiträge: 291
Registriert: 11. Sep 2008, 19:35
Wohnort: Wesel

Beitragvon jfax » 9. Okt 2008, 09: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.
jfax
 
Beiträge: 24
Registriert: 4. Sep 2006, 18:27
Wohnort: stuttgart

Beitragvon Sabse » 9. Okt 2008, 15: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.
Sabse
 
Beiträge: 90
Registriert: 1. Apr 2008, 14:51
Wohnort: Wörth am Rhein

Beitragvon jfax » 9. Okt 2008, 16: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: 24
Registriert: 4. Sep 2006, 18:27
Wohnort: stuttgart

Beitragvon jfax » 13. Okt 2008, 10: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',
jfax
 
Beiträge: 24
Registriert: 4. Sep 2006, 18:27
Wohnort: stuttgart

Beitragvon pr0nflake » 13. Okt 2008, 11: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, 14:28

Beitragvon pr0nflake » 13. Okt 2008, 11: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');
pr0nflake
 
Beiträge: 18
Registriert: 12. Mär 2008, 14:28

Beitragvon martinpet » 20. Okt 2008, 15: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 :(
martinpet
 
Beiträge: 52
Registriert: 17. Okt 2008, 12:06

Datum geht jetzt

Beitragvon megpro » 13. Nov 2008, 23: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
Benutzeravatar
megpro
 
Beiträge: 70
Registriert: 16. Nov 2006, 12:17
Wohnort: Sassnitz / Rügen

Beitragvon NovosProtos » 16. Feb 2009, 12: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, 12:02

Nächste

Zurück zu AddOns [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast