Featured News in tt_news?

  • tobo tobo
    R2-D2
    0 x
    70 Beiträge
    0 Hilfreiche Beiträge
    04. 09. 2004, 19:17

    Hallo,

    ich stehe vor dem Problem folgende Website umzusezten:

    http://www.tbochenek.de/wjg/wjg.jpg

    Das Problem ist, dass in der Nachrichtenansicht immer die neueste (die "featured News") ganz anders dargestellt werden soll, als die News danach. Sie soll ein Bild über die ganze Breite haben, die anderen nur ein kleines Bild links.

    Das eigentliche Problem ist, dass jede "featured News" sobald eine neue News eingefügt wird zu einer normalen News wird.

    Zwei Fragestellungen ergeben sich für mich:

    [b:4a93d6af52]1. Wie kriege ich es hin, dass ich auf einer Seite zwei LATEST Ansichten habe, einmal mit nur einer News und einmal mit drei News, wobei die Neueste ausgelassen werden soll. Und beide LATEST Ansichten natürlich mit anderen Templates.[/b:4a93d6af52]

    [b:4a93d6af52]2. Wie kann ich dieses Große Bild in einem News-Datensatz unterbringen? Muss ich dazu die Extension umprogrammieren, sodass ein zweites Bildfeld vorhanden ist falls die News eine "featured News" ist?
    Und wenn ja, wie mach ich das?[/b:4a93d6af52]

    Ich hoffe, ich habe mich einigermaßen verständlich ausdrücken können *g*
    Ich denke, mein Problem ist nicht so ganz einfach zu lösen.

    Ich wäre für jede Hilfe sehr sehr dankbar, denn eigentlich eilt der Auftrag.

    Gruß,
    Thorben


  • piero piero
    Padawan
    0 x
    46 Beiträge
    0 Hilfreiche Beiträge
    05. 09. 2004, 00:40

    ich fürchte tatsächlich das du im code der extension herumschrauben wirst müssen.

    wenn dus hast... ich wär dran interessiert - habs bisher immer vermieden weil ich noch zu wenig ahnung von den internas habe.

    ich würde den ansatz verfolgen nicht 2 latest zu machen, sondern einen neuen typ hinzuzufügen, nämlich FEATURED. man kann dann eine beliebige news als featured markieren - diese wird dann dort angezeigt.
    heisst 2 felder hinzufügen: featured_pic (blob) und featured (bool)

    das wäre eine sehr schöne erweiterung für die news - sabba *habenwill*

  • tobo tobo
    R2-D2
    0 x
    70 Beiträge
    0 Hilfreiche Beiträge
    05. 09. 2004, 03:41

    mhh ... wenn mehrer Leute das brauchen können ... ich hab ja schon Erweiterungen zu Erweiterungen gesehen, aber wie schreibt man die?

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    05. 09. 2004, 12:04

    Hallo tobo !

    Was du vorhast, ist überhaupt kein Problem,
    das habe sogar ich als Newbie hinbekommen. #giggle#

    Als erstes installierst du die Extension Repository Kickstarter extrep_wizard, wenn du das nicht sowieso schon gemacht hast.

    Dann wählst du im Extension Manager oben links "Make new extension" aus.
    Im sich jetzt öffnenden Kickstarter-Wizard "Extend existing tables" auswählen.
    Bei "which table?:" nimmst du tt_news.
    Ja, und dann legst du deine beiden neuen Felder an,
    wie von piero geposted.
    Die ganze Prozedur ist mehr oder weniger selbsterklärend. Feldtyp, Größe, Name usw. werden abgefragt, du legst die Eingabemaske fest etc.

    Anschließend installierst du deine neue Extension, dabei werden die neuen Felder in der Tabelle tt_news angelegt,
    was du mit PhpMyAdmin prima nachvollziehen kannst.
    Dann paßt du noch die HTML-Templates für die News-Ausgabe an.

    That's it !!

    Spiel einfach mal mit dem Kickstarter-Wizard rum,
    kannst (eigentlich) nichts dabei kaputtmachen.
    Wenn nicht das Richtige dabei rauskommt :
    neue Extension deinstallieren, in typo3conf/ext/ deine Extension löschen und mit PHPMyAdmin die neu angelegten Felder in tt_news löschen.
    Dann geht das Spiel von vorne los, bis alles deinen Wünschen entspricht.

    ( Ich hab mir meine News genauso umgemodelt, ein neues Feld angelegt, Sortierung umgekehrt, Templates angepaßt etc., ohne irgendeine Ahnung von PHP zu haben, es geht also! )

    viele Grüße
    jenses

  • n1gHt n1gHt
    Padawan
    0 x
    54 Beiträge
    0 Hilfreiche Beiträge
    05. 09. 2004, 12:12

    Noch ne 2 Möglichkeit wäre hier zu finden http://www.typo3.net/viewtopic.php?t=14119&highlight=alternating!
    Und hier der Code http://www.typo3.net/viewtopic.php?p=55171&highlight=news+setup#55171

    Das ist sehr einfach zu realisieren, jedoch nur für eine feste Latestanzeige!

    Wenn du Zeit hast versuch dich mal mit dem Kickstarter und falls net nimm die andere Lösung.

    mfg n1gHt

  • tobo tobo
    R2-D2
    0 x
    70 Beiträge
    0 Hilfreiche Beiträge
    05. 09. 2004, 22:59

    Wow!

    Erst einmal vielen Dank für die Antworten. Aktuell liebe ich dieses Forum! Vielen vielen Dank!

    Das mit dem Kickstarter habe ich gerade ausprobiert.
    Aber wie kann ich denn jetzt auf das Feld im HTML-Template zugreifen?

    Ich habe gerade einfach ###FEATURED_PIC### eingegeben, das scheint aber nicht zu funktionierten. Also nicht einfach einen Marker mit dem Namen des Feldes einfügen und es funktionert?

    Was hab ich falsch gemacht, wie geht's richtig?

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    06. 09. 2004, 01:13

    Hallo tobo !

    Schau mal unter typo3con/ext/ in das Verzeichnis deiner neu gebastelten Extension.
    In der Datei locallang_db.php findest du die Übersetzung des Feldnamens in den Namen, mit dem du das Feld ansprechen kannst, z.B bei mir :
    [code:1:157f57c36a]
    $LOCAL_LANG = Array (
    "default" => Array (
    "tt_news.tx_newsemail_email" => "email",
    ),
    );
    [/code:1:157f57c36a]

    Im HTML-Template für die News wird mein Feld dann mit ###NEWS_EMAIL### angesprochen.
    Also bei dir dann vielleicht ###NEWS_FEATURED_PIC###.

    viele Grüße
    jenses

  • olibert olibert
    Jedi-Ritter
    0 x
    134 Beiträge
    0 Hilfreiche Beiträge
    07. 09. 2004, 01:06

    tach.
    ich hatte zwar bisher noch keine verwendung für dieses feature, aber klasse erklärung jenses.
    macht direkt mut zum basteln :D

    olibert

  • tobo tobo
    R2-D2
    0 x
    70 Beiträge
    0 Hilfreiche Beiträge
    08. 09. 2004, 17:47

    Hallo,

    ich hab mir jetzt die locallang_db.php angekuckt und das so gemacht, wie du auch und auch alle möglichen anderen Kombinationen durchprobiert, aber es will einfach nicht funktionieren.
    Er zeigt mir nur den Markernamen in der generierten Website an.

    Weiß jemand weiter?

    Dankbare Grüße,
    Thorben

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    08. 09. 2004, 23:57

    Hallo Tobo !

    Kannst dich schon mal freuen, habs hingekriegt ! #giggle# ;) :) :D

    Die Vorgehensweise, die ich dir gepostet hatte, war ok.
    NUR hatte ich völlig vergessen, das man noch die [color=blue:780a22f5d7]class.tx_ttnews.php[/color:780a22f5d7] (in typo3conf/ext/tt_news/pi) ummodeln muß.
    Dort passiert ab Zeile 564 das Ersetzen der Marker mit dem Inhalt.
    Leider habe ich überhaupt keine Ahnung von PHP, und meine TurboPascal-Erfahrungen sind auch schon 15 Jahre her.
    Zum Glück gibts in tt_news ja schon ein Bild,
    so mußte ich das nur für das featuredpic anpassen.

    Also :

    1. Du installierst deine Extension (bereits geschehen).

    2. Du mußt einen Ordner uploads/tx_newsplusfeatured anlegen; das hast du im Kickstarter so angegeben.

    2. In dein News-Template setzt du an der gewünschten Stelle den Marker ###NEWS_FEATUREDPIC###.

    3. Du öffnest class.tx_ttnews.php und fügst folgendes in Zeile 594 ein :
    (Zeilennummer kann bei dir anders sein, direkt davor wird jedenfalls NEWS_IMAGE gefüllt)
    [code:1:780a22f5d7]
    $theImgCode="";
    $imgs = t3lib_div::trimExplode(",",$row["tx_newsplusfeatured_featuredpic"],1);
    // $imgsCaptions = explode(chr(10),$row["imagecaption"]);
    reset($imgs);
    $cc=0;
    while(list(,$val)=each($imgs)) {
    if ($cc==$imageNum) break;
    if ($val) {
    $lConf["tx_newsplusfeatured_featuredpic."]["file"] = "uploads/tx_newsplusfeatured/".$val;
    }
    $theImgCode.=$this->local_cObj->IMAGE($lConf["tx_newsplusfeatured_featuredpic."]);
    $cc++;
    }

    $markerArray["###NEWS_FEATUREDPIC###"]="";
    if ($cc) {
    $markerArray["###NEWS_FEATUREDPIC###"] = $this->local_cObj->wrap(trim($theImgCode),$lConf["imageWrapIfAny"]);
    }
    [/code:1:780a22f5d7]

    Datei speichern.
    Cache löschen.
    News-Datensatz anlegen & featuredpic auswählen/hochladen.
    Seite im FE anschauen.
    Sich freuen. ;)

    Frag mich jetzt aber nicht, wie man die Ausgabegröße des Bildes bestimmt.
    Im Template Setup --> tt_news displaySingle [imageWrapIfAny]kannst du das Wrappen des Bildes steuern.
    Vorsicht: das normale News-Image wird auch damit gewrapt.
    Es wäre wohl besser, das für die beiden Bilder getrennt zu machen --> featuredpicWrapIfAny anlegen und das auch so in die class.tx_ttnews.php eintragen.

    Na ja, nu läufts erstmal.

    viel Spaß
    jenses