[Typo3-UG Italy] smile_categorization che usi una logica AND

Francesco di Francia darksky77 at email.it
Mon May 23 19:40:25 CEST 2005


Salve connazionali,

qualcuno di voi conosce/utilizza l'estensione smile_categorization ?
A me servirebbe per assegnare più di una categoria ad uno stesso 
articolo per poi riuscire con facilità a creare quei classici box del tipo :

"Altri articoli sullo stesso argomento"

Il problema di questa estensione è che utilizza una logica OR quando si 
va a creare questi box di filtraggio/selezione. Vi faccio un esempio 
considerando il topic del mio sito ( Wargame, strategici e storia 
militare ).

Recensione Gioco X
Categorie assegnate:
	1) Gioco
	2) Wargame
	3) Epoca medievale

Articolo di storia Militare Y
Categorie assegnate:
	1) Articolo di Storia Militare
	2) Epoca medievale

Ebbene, ipotizziamo di voler creare per la pagina contenente la 
recensione del gioco X un box "altre recensioni di giochi ambientati 
nella stessa epoca" ( quindi medievale ).
Le categorie da inserire per filtrare i link che compariranon nel box 
dovrebbero essere:

1) Gioco
2) Epoca Medievale

Ebbene, il box funzionerebbe se le categorie fossero analizzate con un 
AND e non con un OR di default. Per come funziona ora questa estenzione 
( logica OR ) avrei un elenco di tutti i contenuti che abbiano almeno 
UNA delle categorie usate per creare il box.

QUalcuno di voi sa come ovviare a questo inconveniente ?
Nel setup ho trovato questo

plugin.tx_smilecategorization_pi1 = CASE
    plugin.tx_smilecategorization_pi1 {
           key.field = tx_smilecategorization_plugin_display
              # We used the display of TYPO 3 for complete contents
        2 = CONTENT
            2 < styles.content.get
            2.table = tt_content
            2.select {
                  pidInList = *
                  orderBy = sorting
                  whereCategoryIn = plugin
                  orderType = {$plugin.smile_categorization.orderType}
                  orderAsc = {$plugin.smile_categorization.orderAsc}
            }
              # We used a PHP function for a tree or abstracted contents.
        default = USER
        default.userFunc = tx_smilecategorization_pi1->main
        default.templateFile = {$plugin.smile_categorization.templateFile}
        default.abstractLength = 
{$plugin.smile_categorization.abstractLength}
        default.orderType = {$plugin.smile_categorization.orderType}
        default.orderAsc = {$plugin.smile_categorization.orderAsc}
    }

Forse whereCategoryIn c'entra qualcosa ?

Aprendo invece smile_categorization.php alla linea 153 ho trovato questo:

$where .= 
'((tx_smilecategorization_categories='.$categories_array[$i].') OR 
(tx_smilecategorization_categories LIKE 
\'%,'.$categories_array[$i].',%\') OR (tx_smilecategorization_categories 
LIKE \''.$categories_array[$i].',%\') OR 
(tx_smilecategorization_categories LIKE \'%,'.$categories_array[$i].'\'))';

Ucci ucci sento odor di Hardcoducci. Il problema è che ho trovato altri 
OR anche in altri file...non essendo un programmatore PHP non so dove 
mettere le mani senza fare danni.

Grazie per l'aiuto.



More information about the TYPO3-UG-italy mailing list