Discussion:
[TYPO3-german] News in Extension verwenden
Johannes Lang
2014-07-21 11:01:36 UTC
Permalink
Hallo!

F?r eine Extension zum Auflisten von Datens?tzen in Liste und Detailansicht sollten die News ausgegeben werden, die im Datensatz einen News-Tag gesetzt haben.

Also in der show.html der Extension sollte ein Abschnitt sein, der eine News-Liste mit den News ausgibt, die den gew?hlten Tag haben.

In dem Buch Typo3 Extbase von Patrick Lobacher und docs.typo3.org/typo3cms/ExtbaseFluidBook/ habe ich keine Beschreibung gefunden wie die Schritte f?r die Einbindung anderer Extension zu setzten sind.

Gru? Hannes
Jost Baron
2014-07-21 11:07:42 UTC
Permalink
Hi Hannes,

Das sollte funktionieren, indem du EXT:news als dependency zu deiner
Extension tust, dir dann im passenden Controller einfach ein
News-Repository injezieren l?sst. Von dem l?sst du dir dann die
passenden News geben, und ?bergibst sie an den View.

Mit entsprechend gesetzten PartialRootPaths solltest du sogar Zugriff
auf die Partials aus EXT:news kriegen, aber das w?rde ich mir ?berlegen.

Die Kopplung zwischen EXT:news und deiner Extension wird auf die Art
recht stark, du musst also vielleicht immer genau gucken, welche
news-Version installiert ist.

Gru? Jost
Post by Johannes Lang
Hallo!
F?r eine Extension zum Auflisten von Datens?tzen in Liste und
Detailansicht sollten die News ausgegeben werden, die im Datensatz
einen News-Tag gesetzt haben. Also in der show.html der Extension
sollte ein Abschnitt sein, der eine News-Liste mit den News
ausgibt, die den gew?hlten Tag haben.
In dem Buch Typo3 Extbase von Patrick Lobacher und
docs.typo3.org/typo3cms/ExtbaseFluidBook/ habe ich keine
Beschreibung gefunden wie die Schritte f?r die Einbindung anderer
Extension zu setzten sind.
Gru? Hannes
Johannes Lang
2014-07-24 11:23:19 UTC
Permalink
Hallo!
Habe die Newsausgabe mit dem cObject Viewhelper gemacht:

<f:cObject typoscriptObjectPath="lib.news" data="1" />

Der zugeh?rige TS-Code:

lib.news < tt_content.list.20.news_pi1
lib.news {
controller = News
switchableControllerActions {
News {
1 = list
}
}

settings < plugin.tx_news.settings
settings {
tags.current = 1
limit = 30
detailPid = 222
#overrideFlexformSettingsIfEmpty := addToList(detailPid)
startingpoint = 111
}
}

Die Ausgabe der News erfolgt und ?ber settings.tags = [tag-id] k?nnen die News gefiltert werden, was dann aus der Extension geliefert wird.

Da Problem dabei ist, wie bekomme ich den ?bergebenen Werte aus dem Viewhelper in settings.tags?
mit settings.tags.current = 1 funktioniert es nicht.

Die Zuweisung an ein Textobjekt l?uft problemlos:
<f:cObject typoscriptObjectPath="lib.selectedTags" >2</f:cObject>

lib.selectedTags= TEXT
lib.selectedTags {
value.current = 1
wrap = Value:|
}


Vielen Dank

Hannes
David Gurk
2014-07-24 12:41:07 UTC
Permalink
Also plugin.tx_extample.settings erwartet ?blicherweise nur Strings, es sei, die einzelnen Werte werde von der Extension einmal als TypoScript geparsed. Ich bin mir gerade nicht 100%ig sicher, aber bei EXT:news scheint es f?r diese Option nicht der Fall zu sein.

Hier werden die Settings in ein DemandObject umgewandelt:
https://github.com/TYPO3-extensions/news/blob/master/Classes/Controller/TagController.php#L49

Die Tags werden dann hier gesetzt:
https://github.com/TYPO3-extensions/news/blob/master/Classes/Controller/NewsController.php#L94

Und das ist die Methode, die den Wert setzt:
https://github.com/TYPO3-extensions/news/blob/master/Classes/Domain/Model/Dto/NewsDemand.php#L210

Wenn ich das jetzt ohne Ausprobieren durchdenke, dann m?sste in deinen Fall beim Setting der Wert leer sein.

Es k?nnte also sein, dass das was du vor hast, grunds?tzlich nicht geht.

Hast du das ggf. irgendwo gefunden, z.B. in der Doku?

-----Urspr?ngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Johannes Lang
Gesendet: Donnerstag, 24. Juli 2014 13:23
An: typo3-german at lists.typo3.org
Betreff: Re: [TYPO3-german] News in Extension verwenden

Hallo!
Habe die Newsausgabe mit dem cObject Viewhelper gemacht:

<f:cObject typoscriptObjectPath="lib.news" data="1" />

Der zugeh?rige TS-Code:

lib.news < tt_content.list.20.news_pi1
lib.news {
controller = News
switchableControllerActions {
News {
1 = list
}
}

settings < plugin.tx_news.settings
settings {
tags.current = 1
limit = 30
detailPid = 222
#overrideFlexformSettingsIfEmpty := addToList(detailPid)
startingpoint = 111
}
}

Die Ausgabe der News erfolgt und ?ber settings.tags = [tag-id] k?nnen die News gefiltert werden, was dann aus der Extension geliefert wird.

Da Problem dabei ist, wie bekomme ich den ?bergebenen Werte aus dem Viewhelper in settings.tags?
mit settings.tags.current = 1 funktioniert es nicht.

Die Zuweisung an ein Textobjekt l?uft problemlos:
<f:cObject typoscriptObjectPath="lib.selectedTags" >2</f:cObject>

lib.selectedTags= TEXT
lib.selectedTags {
value.current = 1
wrap = Value:|
}


Vielen Dank

Hannes
Johannes Lang
2014-07-24 16:33:06 UTC
Permalink
Hallo David,

Ja leider, steht das in settings['tags']: array(1) { ["current"]=> string(1) "1" }

Gibt es einen Weg den Wert korrekt zu ?bergeben?
Da reichen meine Typoscript Kenntnise nicht aus, z.B. den Wert aus:
lib.selectedTags= TEXT
lib.selectedTags {
value.current = 1
}
an
lib.news.settings.tags zu ?bergeben wobei zuvor der Inhalt aufgel?st wird.

LG Hannes
David Gurk
2014-07-25 06:49:36 UTC
Permalink
Leider nein, wenn nur ein String verglichen wird, geht dies leider nicht. Auch in deinen weiteren Beispiel m?sste das TypoScript-Objekt bei settings umgewandelt werden.

Du k?nntest h?chsten 2 unterschiedliche Bibliotheken machen. Also von deinem ersten Beispiel:

lib.NewsVariante1 < tt_content.list.20.news_pi1
lib.NewsVariante1 {
controller = News
switchableControllerActions {
News {
1 = list
}
}
settings < plugin.tx_news.settings
settings {
tags = hier so
limit = 30
detailPid = 222
#overrideFlexformSettingsIfEmpty := addToList(detailPid)
startingpoint = 111
}
}


lib.NewsVariante2 < lib.NewsVariante1
lib.NewsVariante2 {
settings {
tags = hier anders
}
}




-----Urspr?ngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Johannes Lang
Gesendet: Donnerstag, 24. Juli 2014 18:33
An: typo3-german at lists.typo3.org
Betreff: Re: [TYPO3-german] News in Extension verwenden

Hallo David,

Ja leider, steht das in settings['tags']: array(1) { ["current"]=> string(1) "1" }

Gibt es einen Weg den Wert korrekt zu ?bergeben?
Da reichen meine Typoscript Kenntnise nicht aus, z.B. den Wert aus:
lib.selectedTags= TEXT
lib.selectedTags {
value.current = 1
}
an
lib.news.settings.tags zu ?bergeben wobei zuvor der Inhalt aufgel?st wird.

LG Hannes
Johannes Lang
2014-07-25 08:38:55 UTC
Permalink
Hallo David,
Als erstes vielen Dank f?r deine Unterst?tzung.

Da w?rde bedeuten, dass ?ber eine Condition je Tag eine Zuweisung passiert?

Es ist meine erste Extbase Extension und mu? feststellen, das die alte Spaghetti Methode f?r kleine Probleme transparenter wenn auch nicht sauberer war.

Meine Problemstellung ist ganz einfach: Eine Liste mit Partnerdaten soll zus?tzlich eine News-Liste mit den News des Partners enthalten.
Mein Ansatz: einen News-Tag je Partner erstellen und diese dem Partner zuordnen - erfordert keine ?nderung und Erweiterung von News und w?rde durch Aufruf der News-Liste mit ?bergabe des zugeordneten Tags funktionieren.

Dein erster Vorschlag:
Das sollte funktionieren, indem du EXT:news als dependency zu deiner
Extension tust, dir dann im passenden Controller einfach ein
News-Repository injezieren l?sst. Von dem l?sst du dir dann die
passenden News geben, und ?bergibst sie an den View. ...

bedeutet f?r mich: dass ich den List Controller aus News ?bernehme und in meiner meinem Detail-Controller einbinde sowie mit der Injection auf das News-Repository die Daten zur Verf?gung habe. ...oder bin ich da zu tief drin?

Wo ich dann aussteige, sind die Settings und Objekte, die der News-Controller ben?tigt, die in News private Methoden sind!

Der Typoscript Ansatz hat mir gefallen, weil er auf einer hohen Ebene abgewickelt wird. -> Hei? nichts anderes als News-List Actioncontroller aufrufen und ge?nderten Tag-Parameter ?bergeben.
Wie kann das auf Extension Ebene gemacht werden?

LG Hannes
Johannes Lang
2014-07-26 11:17:20 UTC
Permalink
Es funktioniert doch:
settings < plugin.tx_news.settings
settings {
tags.current = 1
useStdWrap = tags
}

Gru? Hannes
David Gurk
2014-07-28 08:30:14 UTC
Permalink
Sch?ne Sache, und wieder etwas gelernt =)

-----Urspr?ngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Johannes Lang
Gesendet: Samstag, 26. Juli 2014 13:17
An: typo3-german at lists.typo3.org
Betreff: [TYPO3-german] Re: News in Extension verwenden

Es funktioniert doch:
settings < plugin.tx_news.settings
settings {
tags.current = 1
useStdWrap = tags
}

Gru? Hannes

Lesen Sie weiter auf narkive:
Loading...