Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 13.04.07, 10:39
Forum Crack
 
Registriert seit: 28.06.05
Ort: Großenseebach nähe Erlangen
Beiträge: 1.016

tt_news erweitern


Hi,

ich möchte die tt_news um ein Feld erweitern.
Vorgegangen bin ich nach einer Anleitung der Konkurrenz:

Zitat:
Zitat von Cod
Anleitung für typo3 3.8 (klappt wohl auch drunter)

tt_news oder andere Extension erweitern um zusätzliche Felder -> beliebige Datenbank mit News-Funktionalität (Frontpage-Listing/Teaser/Vorschau etc.:sad:


1. tt_news installieren (für Vers. 3.8: 2.2.24 oder höher), im Template entsprechendes "static" von tt_news mit einbinden, sonst wird nix angezeigt.

tt_news Handbuch: http://typo3.org/documentation/docum...brary/tt_news/
(zur Konfiguration: Ausgangsseite ist die, wo die News erfasst werden, für Einzelanzeige am besten eine andere Unterseite anlegen, die nicht im Menü erscheint).


2. Im Extension Manager "Extension Kickstarter" aus "online repository" laden (einfach beim erstenmal Name, Passwort - beliebig - unter "Settings" eingeben)

3. im Menü des Ext Manager "Make new Extension" wählen.

4. weiter wie hier beschrieben (typo-3.de - Neue Felder hinzufügen)

+General:

Titel und Description bleibt euch selbst überlassen (zum Beispiel "Erweiterung für Newsmodul"
Kategory: Frontend Plugins
Dependencies: ka, hab ich immer leer gelassen
Author Name: euer Name
Author eMail: eure email

-->UPDATE

+Extend existing Tables

Which table: in diesem Falle tt_news, da ihr diese Extension erweitern wollt

nun könnt ihr unten mit "new field" weitere Felder für die extension hinzufügen. Die Felder, welche die extension bisher schon beinhaltet, werden hier nicht nochmal aufgeführt, da dies lediglich eine "erweiterung" für die extension ist!

wenn ihr alle Felder hinzugefügt habt, welche ihr wollt, dann
--> UPDATE

Letztendlich noch bei "Enter extension key:" (linke seite unter dem menu) eurer Extension einen Key zuweisen. nicht (!) den key der news-extension nehmen!!!

Dann links auf "view result" und das ganze updaten und abspeichern. ("Write ...")

Damit das Ganze funktioniert müssen beide Extension laufen (neue Extension auch laden). Sowohl die tt_news als auch die, welche ihr gerade erstellt habt.

solltet ihr nachträglich eure eben geschriebene extension nochmal ändern wollen geht ihr am besten auf "extension manager" --> "loaded extension"
hier sucht ihr eure extension raus und klickt einmal drauf. dann rechts oben auf "backup/delete" und dann ganz unten auf "start new" (bzw. einfach weiter "existing table" erweitern).


6. die neuen Felder werden (ergänzt um Präfix = Name der neuen Extension) der Tabelle tt_news hinzugefügt. Sollten jetzt im Backend beim Erfassen neuer News zur VErfügung stehen.

Damit sie auf der Seite ausgegeben werden können, müssen noch Marker für die neuen Felder definiert werden:

7. in der Datei typo3conf/ext/tt_news/pi/class.tx_txttnews.php per Suchen ein vordefiniertes Feld wie "news title" (####NEWS_TITLE###) suchen - sieht so aus:

Typoscript-Code:
1:
$markerArray['###NEWS_TITLE###'] = $this->local_cObj->stdWrap($row['title'], $lConf['title_stdWrap.']) - ERROR: Line 0: Object Name String, "$markerArray['###NEWS_TITLE###']" contains invalid character "$". Must be alphanumeric or one of: "_-."

und danach exakt identisch diese Marker-Definitionen für alle neuen Felder einfügen (Achtung: am besten via pHpMyAdmin in der Datenbank den exakten Feldnamen eruieren, da als Präfix der Name der neuen Extension davorsteht), für ein Feld "Miete" z.B.

Typoscript-Code:
1:
$markerArray['###MIETE###'] = $this->local_cObj->stdWrap($row['tx_ccwohnungsanzeigen_miete'], $lConf['tx_ccwohnungsanzeigen_miete_stdWrap.']); - ERROR: Line 0: Object Name String, "$markerArray['###MIETE###']" contains invalid character "$". Must be alphanumeric or one of: "_-."

dann speichern und uploaden.

8. Nun stehen diese Marker auch für die Ausgabe des Feldinhalts im FE via Template zur Verfügung.

Template: typo3conf/ext/tt_news/pi/news_template.tmpl

Tip: Template nicht über die Konfiguration von tt_news einbinden, sondern im Template-Setup:

Typoscript-Code:
1:
plugin.tt_news.templateFile = fileadmin/news_template.tmpl

(das Template muss natürlich an die angegebene Stelle kopiert werden).
Nachdem ich das ganze aber updatesicher haben will, entfällt für mich der Schritt mit dem Umschreiben der tt_news Dateien.

Ich wollte dafür den itemMarkerArrayFunc-Hook verwenden.
Dazu habe ich meinem Extension Ordner eine Datei angelegt, die sich articleNumber_itemMarkerArrayFunc.php nennt.
Eigebunden wird die Datei im Setup per Typoscript:

Typoscript-Code:
1:
2:
3:
4:
# include the php script
includeLibs.displayArticleNumbers = EXT:sb_article_tt_news/articleNumber_itemMarkerArrayFunc.php
# call user function
plugin.tt_news.itemMarkerArrayFunc = user_displayArticleNumbers

Das Problem ist nun aber, das ich nicht genau weis, wie ich meinen Marker ersetzen soll.

Ich habe das per Funktion versucht (wie in der Hook Beispieldatei:sad:

PHP-Code:
  function user_displayArticleNumbers($markerArray,$row) {
        
$res=$GLOBALS['TYPO3_DB']->exec_SELECTquery('SELECT','tx_sbarticlettnews_artnr','hidden=0 AND deleted=0 AND piVar=\'tx_ttnews[tt_news]='.$row['uid'].'\'');
        
$markerArray['###articleNumber###']=$row;

        return  
$markerArray;
  } 
Sprich ich wollte einfach per exec_SELECTquery meinen Datensatz auslesen und dann den Marker ersetzen. Das ersetzen klappt, aber es kommt dabei kein Wert raus.
Wenn ich $markerArray['###articleNumber###'] gleich irgendeinen Wert setze (z.B. test), dann wird mein Marker aber mit exakt dieser Variable ersetzt. Scheitn also fast zu funktionieren.
Nur wie bekomme ich nun meinen Feldinhalt in den Marker?
__________________
Grüße Basti

TYPO3 Handbuch für Redakteure | sb_* Extensions
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 13.04.07, 10:52
Forum Crack
 
Registriert seit: 28.06.05
Ort: Großenseebach nähe Erlangen
Beiträge: 1.016

Oh mann....
So klappts:

Zitat:
function user_displayArticleNumbers($markerArray, $conf){
$row = $conf['parentObj']->local_cObj->data; // get the data array of the current news record
//replace the marker
$markerArray['###articleNumber###'] = $conf['parentObj']->local_cObj->stdWrap($row['tx_sbarticlettnews_artnr'], $conf['parentObj']->conf['tx_sbarticlettnews_artnr_stdWrap.']);

return $markerArray;
}
__________________
Grüße Basti

TYPO3 Handbuch für Redakteure | sb_* Extensions
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 13.04.07, 15:15
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.249
mstuebner eine Nachricht über Skype™ schicken

Zitat:
Zitat von zefix Beitrag anzeigen
Zitat:
function user_displayArticleNumbers($markerArray, $conf){
$row = $conf['parentObj']->local_cObj->data; // get the data array of the current news record
//replace the marker
$markerArray['###articleNumber###'] = $conf['parentObj']->local_cObj->stdWrap($row['tx_sbarticlettnews_artnr'], $conf['parentObj']->conf['tx_sbarticlettnews_artnr_stdWrap.']);

return $markerArray;
}
Es wäre aber DEUTLICH vorzuziehen Queryreturns und $row['tx_sbarticlettnews_artnr'] vorher zu testen!

Diese fehlenden Tests führen zu diesen teils nicht nachvollziehbaren "bla isn't a valid resource".
__________________
mfg Matthias

TYPO3-Consultant -- TYPO3 Entwicklung

Geändert von mstuebner (13.04.07 um 15:23 Uhr).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 13.04.07, 15:48
Forum Crack
 
Registriert seit: 28.06.05
Ort: Großenseebach nähe Erlangen
Beiträge: 1.016

Na wenn du mir sagst wie das geht, dann gerne ;)
__________________
Grüße Basti

TYPO3 Handbuch für Redakteure | sb_* Extensions
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #5  
Alt 13.04.07, 16:02
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.249
mstuebner eine Nachricht über Skype™ schicken

Zitat:
Zitat von zefix Beitrag anzeigen
Na wenn du mir sagst wie das geht, dann gerne ;)
Du scherzt, oder? Heisst das, dass Du Werte/Variablen nie prüfst? Auch $_GET/$_POST Vars nicht? (Dann müssen Hacker ja nur noch wissen welche Ext. Du geschrieben hast... ;-( )

- if
- isset
- is_xxx PHP: is_array - Manual

nicht von den t3lib::div Funktionen zu reden.
__________________
mfg Matthias

TYPO3-Consultant -- TYPO3 Entwicklung
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #6  
Alt 13.04.07, 16:04
Forum Crack
 
Registriert seit: 28.06.05
Ort: Großenseebach nähe Erlangen
Beiträge: 1.016

Ne wie man in php Werte prüft ist mir schon klar.
Ich dachte da gibt es von TYPO3 schon was fertiges.
Ich hatte das nicht auf das PHP Programieren im allgemeinen bezogen.
__________________
Grüße Basti

TYPO3 Handbuch für Redakteure | sb_* Extensions
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #7  
Alt 13.04.07, 16:13
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.249
mstuebner eine Nachricht über Skype™ schicken

Zitat:
Zitat von zefix Beitrag anzeigen
Ne wie man in php Werte prüft ist mir schon klar.
Ich dachte da gibt es von TYPO3 schon was fertiges.
Ich hatte das nicht auf das PHP Programieren im allgemeinen bezogen.
Das wären dann diverse t3lib_div:: Funktionen, aber die muss ich ja nicht aufschreiben, den Source hast Du ja.
__________________
mfg Matthias

TYPO3-Consultant -- TYPO3 Entwicklung

Geändert von mstuebner (16.04.07 um 09:56 Uhr).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #8  
Alt 16.04.07, 08:30
Forum Crack
 
Registriert seit: 28.06.05
Ort: Großenseebach nähe Erlangen
Beiträge: 1.016

Na da werde ich mich mal einlesen.
Wo legt TYPO3 eigentlich fest, wie groß eine Datei sein darf? Weil wenn ich ein Feld files hinzufüge, dann kann ich maximal 1MB große Files anhängen (und das auch nur beim Feld anlegen angeben).
Ich kann dann zwar in der ext_tables meines Plugins den Wert händisch erhöhen, aber das kann ja nicht im Sinne des Erfinders sein.
Und ausserdem legt er mir dann ein blob Feld an und scheint mir die Files direkt in der DB zu speichern. Das Standard Files Feld der tt_news ist dagegen ein normales Textfeld.
__________________
Grüße Basti

TYPO3 Handbuch für Redakteure | sb_* Extensions

Geändert von zefix (16.04.07 um 08:38 Uhr).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #9  
Alt 16.04.07, 10:00
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.249
mstuebner eine Nachricht über Skype™ schicken

Zitat:
Zitat von zefix Beitrag anzeigen
Na da werde ich mich mal einlesen.
Wo legt TYPO3 eigentlich fest, wie groß eine Datei sein darf? Weil wenn ich ein Feld files hinzufüge, dann kann ich maximal 1MB große Files anhängen (und das auch nur beim Feld anlegen angeben).
Ich kann dann zwar in der ext_tables meines Plugins den Wert händisch erhöhen, aber das kann ja nicht im Sinne des Erfinders sein.
Warum nicht? Der Kickstarter ist KEINE Entwicklungsumgebung, sondern ein Mittel um Dir einen gewissen Rahmen zu schaffen. Es gibt diverse Dinge die der Kickstarter garnicht unterstützt, wie. z.B. Flexforms.

Du kommst also nicht umhin, auch das SQL Deinen Wünschen händisch anzupassen.

Ich habe es bis jetzt noch nicht gesehen, dass Dateien in der DB gespeichert werden.
__________________
mfg Matthias

TYPO3-Consultant -- TYPO3 Entwicklung
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #10  
Alt 16.04.07, 10:36
Forum Crack
 
Registriert seit: 28.06.05
Ort: Großenseebach nähe Erlangen
Beiträge: 1.016

Es werden auch keine Dateien in der DB gespeichert, wie ich gerade gemerkt habe, sondern genau wie bei den anderen Dateifeldern die Dateiliste (kommasepariert).
Mich hat nur der Feldtyp blob gewundert. Prinzipiell ist der ja auch egal, so lange es funktioniert.
Klappt im übrigen jetzt.
__________________
Grüße Basti

TYPO3 Handbuch für Redakteure | sb_* Extensions
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Gelöst tt_news erweitern lacken News (tt_news, mininews und Co) 1 09.05.08 13:42
tt_news erweitern CKoenig Extension modifizieren oder neu erstellen 0 16.08.07 17:57
tt_news mit Blog-Features erweitern mic_jan News (tt_news, mininews und Co) 3 18.04.07 08:46
tt_news: erweitern Toccamonium News (tt_news, mininews und Co) 5 12.02.07 19:50
tt_news erweitern um Formular zefix News (tt_news, mininews und Co) 0 21.06.06 17:07


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0