[TYPO3-UG Italy] R: extending news

Cristian Buja (InteRa s.r.l.) cristian.buja at intera.it
Tue May 27 18:52:24 CEST 2014


Ciao Riccardo.
Allora l'extension builder non crea di per se estensioni funzionanti, ma 
ti aiuta a ottenere una prima struttura sulla quale poi intervenire.
In secondo luogo le news sfruttano un meccanismo 'non convenzionale' per 
essere estese. Ed in fine, sempre le news, non usano (almeno non ancora 
completamente) i namespace che invece usa typo3 6.2.

Detto questo, per estendere di un solo campo le news ti occorre nella 
tua estensione una struttura con questi file:

-ext_emconf.php
-ext_icon.gif
-ext_tables.sql
-ext_tables.php
-Classes/Domain/Model/News.php
-Resources/Language/locallang_db.xlf
-Resources/Private/extend-news.txt


a parte extend-news.txt
(che deve contenere la sola riga di testo 'Domain/Model/News')
il resto dovrebbe averlo creato l'extension builder, anzi ti avra crato 
molto di piu' e anche qualcosa di nocivo per le news nel typoscript 
sempre per via del 'non convenzionale meccanismo di estensione delle news'


fatto questo potrai utilizzare il nuovo campo delle news inserendolo nei 
relativi template (a tal proposito puoi copiare i template delle news 
nella tua estensione e modificarli li, oppure portare tutto fuori in 
fileadmin)

E' sicuramente un po molto complicato le prime volte ma dopo un po ci si 
fa l'abitudine :P

Buon divertimento

----------------------

Cristian Buja
cristian.buja at intera.it


Il 27/05/2014 10:57, De Contardi Riccardo ha scritto:
> Ciao ti ringrazio per la disponibilità e scusa se non mi sono fatto vivo prima.
>
> Allora... parto dal principio: desidero aggiungere un campo che chiamo "offerid" (stringa semplice, niente di che) alla tabella "tx_news_domain_model_news", e per farlo in TYPO3 6.2.x ho deciso di usare extensionbuilder (mai usato prima)
> 1. Extension builder:
>
> utilizzo le seguenti informazioni nell'estensione:
>
> Name: Offer ID for News
> Vendor name: Bhuman
> Key: bhofferidnews
> Descr.: Extends news and adds offerid field
> category: frontend plugin
> version: 0.0.0
> state: alpha
> Disable versioning: no
> Disable localization: no
> Source language for xliff file: en
> Target Version: 6.2
>
> 2. nel riquadro faccio Drag & Drop di "New model Object" e inizio a editarne le proprietà
> e qui iniziano i casini:
>> Domanda N°1: che nome deve avere? Ho notato che se lo chiamo ad es. Offerid, nella folder
> /Classes/Domain/Model/ compare il file Offerid.php, mentre mi pare di capire dal tutorial
> che deve chiamarsi News.php. O mi sbaglio?
>
> 2.1 Ammesso di chiamarlo "News", l'ho riempito con le seguenti info:
>
> Domain object settings
>    Object type: Entity
>    > Domanda N°2: meglio entity o value object? Che differenza c'è?
>    Is aggregate root? No
>    Enable Sorting: Yes
>    Add deleted field: Yes
>    Add hidden field: Yes
>    Add starttime/endtime fields: Yes
>    Enable Categorization: No
>    Description: Offer ID
>    Map to existing table: tx_news_domain_model_news
>    Extends existing model class:
>
> Default Actions: non l'ho toccato
> Properties:Add
>    Mi pare di capire che questi sono i campi che vado ad aggiungere:
>    Property name: offerid
>    String
>    Description: Offer ID
>    Is required? No
>    Is exclude field: Yes
>
>   a questo punto salvo il tutto e l'estensione viene creata.
>   Ora... cosa fare esattamente perchè funzioni? Installandola non vedo nulla!
>   Il campo è stato aggiunto alla TCA, ma nell'interfaccia non vedo nulla!
>   occorre modificare il ext_tables.php in qualche modo??
>
>
>   Inoltre il file /Classes/Domain/Model/News.php è:
>
>   /**
>   * Offer ID
>   */
> class News extends \Tx_News_Domain_Model_News {
>
> 	/**
> 	 * Offer ID
> 	 *
> 	 * @var string
> 	 */
> 	protected $offerid = '';
>
> 	/**
> 	 * Returns the offerid
> 	 *
> 	 * @return string $offerid
> 	 */
> 	public function getOfferid() {
> 		return $this->offerid;
> 	}
>
> 	/**
> 	 * Sets the offerid
> 	 *
> 	 * @param string $offerid
> 	 * @return void
> 	 */
> 	public function setOfferid($offerid) {
> 		$this->offerid = $offerid;
> 	}
>
> }
>
> che mi sembra diverso da quello dell'esempio. Va modificato? E come?
> Sto sbagliando o dimenticando qualcosa?
>
> Grazie per le risposte
>
>
> --------------------------------------------
> Riccardo De Contardi - Web Developer
> B Human Srl - www.bhuman.it
> Riccardo.decontardi at bhuman.it
> Corso di Porta Nuova, 46 - 20121 Milano
> TEL +39-02-20.23.271 - FAX +39-02-20.240.561
> --------------------------------------------
>
> -----Messaggio originale-----
> Da: typo3-ug-italy-bounces at lists.typo3.org [mailto:typo3-ug-italy-bounces at lists.typo3.org] Per conto di Cristian Buja (InteRa s.r.l.)
> Inviato: lunedì 26 maggio 2014 09:14
> A: typo3-ug-italy at lists.typo3.org
> Oggetto: Re: [TYPO3-UG Italy] extending news
>
> Posso darti qualche suggerimento io se trovo dei buchi nell'arco della giornata, ma dovresti dirmi cosa ti funziona e cosa no, altrimenti potrebbe essere un po troppo lunga la questione.
>
>
> Cristian Buja
> cristian.buja at intera.it <mailto:cristian.buja at intera.it>
>
> Intera - Web, grafica, comunicazione
>
> Intera
> Web, grafica, comunicazione
> via Fratelli Lumiere, 46/a
> 48124 Fornace Zarattini (Ra), Italia
> T: +39 0544 462628
> F: +39 0544 467457
> www.intera.it <http://www.intera.it>
> intera at intera.it <mailto:intera at intera.it>
>
>
> Il 24/05/2014 20:06, Riccardo De Contardi ha scritto:
>> CIao a tutti
>>
>> Qualcuno mi spiega come si aggiunge un campo all'estensione news? Sto
>> seguendo il tutorial
>> http://docs.typo3.org/typo3cms/extensions/news/Main/Tutorial/Extending
>> News/Index.html con scarsissime fortune (non funziona un tubo)
>>
>> Sto usando TYPO3 6.2.3 e (per la prima volta) l'estensione extension
>> builder... ho come l'impressione che il tutorial di cui sopra sia
>> stato scritto per kickstarter... qualcuno ne conosce un'altro? O sa
>> darmi qualche dritta?
>>
>> Grazie in anticipo
>>
> _______________________________________________
> TYPO3-UG-Italy mailing list
> TYPO3-UG-Italy at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-italy
>
> **************************************************
>
> Chi riceve il presente messaggio e' tenuto a verificare se lo stesso non gli sia pervenuto per errore. In tal caso e' pregato di avvisare immediatamente il mittente e, tenuto conto delle responsabilita connesse all'indebito utilizzo e/o divulgazione del messaggio e/o delle informazioni in esso contenute, voglia cancellare l'originale e distruggere le varie copie o stampe.
>
> The receiver of this message is required to check if he/she has received it erroneously. If so, the receiver is requested to immediately inform the sender and - in consideration of the responsibilities arising from undue use and/or disclosure of the message and/or the information contained therein - destroy the original message and any copy or printout thereof.
>
>


More information about the TYPO3-UG-Italy mailing list