[TYPO3-UG Italy] R: extending news

Ivano Luberti luberti at archicoop.it
Wed May 28 15:27:18 CEST 2014


Ciao Cristian, io non ho mai esteso news ma ho esteso, ad esempio,
powermail.
Per estendere il model in extbase esiste un approccio abbastanza
documentato e illustrato anche nella estensione tutorial blog_example
(che peraltro sotto la 6.x non funziona).
L'approccio prevede di sviluppare la sottoclasse ovviamente e di
utilizzare typoscript per mappare la nuova classe sulla classe padre e
dire a extbase di utilizzarla al posto della classe padre.
Ad esempio in blog_example, cosi' viene configurata la classe
Tx_BlogExample_Domain_Model_Administrator perche' venga usata come
estensione di Tx_Extbase_Domain_Model_FrontendUser

    plugin.tx_blogexample.persistence {
             classes {
                          Tx_Extbase_Domain_Model_FrontendUser {
                              subclasses {
                                 
Tx_BlogExample_Domain_Model_Administrator =
Tx_BlogExample_Domain_Model_Administrator
                              }
                          }
                          Tx_BlogExample_Domain_Model_Administrator {
                              mapping {
                                  tableName = fe_users
                                  recordType =
Tx_BlogExample_Domain_Model_Administrator
                              }
                          }
                      }
                  }

Con news questo approccio non funzionerebbe?
In caso affermativo, sai perche' hanno introdotto un modo proprietario
per estendere il model?
Solo se hai una risposta veloce, se no quando ci cozzero' contro me lo
studiero' da solo.



Il 28/05/2014 09:32, Cristian Buja (InteRa s.r.l.) ha scritto:
> Ha dimenticavo, se il campo e' stato aggiunto al TCA ma non lo vedi
> nel Backend, vedi se ti ha aggiunto qualcosa tipo 'tx_extbase_type',
> Questo perche' quando aggiungi un campo a una tabella con
> extensionbuilder viene creato un nuovo 'tipo' di modello, mentre ne
> tuo caso hai la necessita' di usare lo stesso 'tipo' modello, per
> indendersi nelle news hai 3 tipi, news, internal ed external.
> In questo caso devi intervenire nell'ext_tables.php.
>
>
> 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 27/05/2014 18:52, Cristian Buja (InteRa s.r.l.) ha scritto:
>> 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.
>>>
>>>
> _______________________________________________
> TYPO3-UG-Italy mailing list
> TYPO3-UG-Italy at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-italy
>

-- 
==================================================
dott. Ivano Mario Luberti
Archimede Informatica societa' cooperativa a r. l.
Sede Operativa
Via Gereschi 36 - 56126- Pisa
tel.: +39-050- 580959
tel/fax: +39-050-9711344
web: www.archicoop.it
==================================================



More information about the TYPO3-UG-Italy mailing list