Vai al contenuto
  • 0

Creare liste di topic divise per argomento


Amy Pond

Domanda

Buonasera a tutti :-)

C'è un modo, con IP.Content di creare delle categorie con le quali suddividere i topic e generare in tal modo delle liste suddivise per argomento?

Link al commento
Condividi su altri siti

14 risposte a questa domanda

Messaggi raccomandati

  • 0

Buonasera a tutti :-)

C'è un modo, con IP.Content di creare delle categorie con le quali suddividere i topic e generare in tal modo delle liste suddivise per argomento?

si, devi creare un database

aggiungere o meno categorie oppure anche solo i fields

a questo punto creando un blocco feed

nello step 2 devi selezionare ip.content database e nello step 3 "records" e il database dove prendere i vari "topic" dalle categorie...

una volta fatto questo basta scegliere il template da usare poi nello step 5... se vuoi puoi quindi personalizzare la lista con i fields che hai creato

per maggiori dettagli torno mercoledi :/

Link al commento
Condividi su altri siti

  • 0

si piu probabile, allora nello step 1 deve selezionare forums

step 3 topics

nello step 4 filtra a piacere i dati da estrarre...

il resto è come il mio precedente messaggio.

Link al commento
Condividi su altri siti

  • 0

comunque cambierebbe di certo il template... perchè vorrebbe dividere la lista per argomento.

quindi si dovrebbe mettere un ulteriore foreach per ogni $r['category']

e fare un template simile a

<h3>{$r['category']}</h3><foreach loop="$r as $topic"....
Link al commento
Condividi su altri siti

  • 0

Lo dice il titolo :-D Devo suddividere dei topic per argomento. I tag non sono sufficienti, per cui vorrei trovare un modo per fare un elenco di argomenti e poi ficcarci dentro i topic :-)

Link al commento
Condividi su altri siti

  • 0

ecco però se non ci specifichi il criterio sulla base del quale vuoi farlo , noi non possiamo inventarcelo ;)

immagina che volessi dividere in categorie per topic che hanno solo 13 post oppure per topic dove hanno postato solo delle fanciulle ecc....... :D

Link al commento
Condividi su altri siti

  • 0

infatti argomento=criterio... di solito si usano i tags per questo scopo.

se non sono presenti, o c'è almeno una suddivisione con le sezioni(forum id-n):

forum id-1

-topic1

-topic2

forum id-2

-topic3

oppure cercare tramite una query sql di trovare una parola o frase nei posts dei topics...

esempio:

$this->DB->build(array(

'select' => '*',

'from' => 'posts as p',

'where' => 'p.post LIKE "%frase%"'

'addjoin' => array(

select...

from ... topics as t

where ...'t.tid=p.topic_id'

)

))

$this->db->execute;

$r=fetch...

while($r)...

$topics[]=$r;

da qui in poi devi costruire la parte html...

prima dimmi quali parole chiave identificano gli argomenti, come najaru ha gia detto.

Link al commento
Condividi su altri siti

  • 0

Leggendo le vostre risposte capisco sia una cosa eccessivamente complessa: io vorrei suddividerli in base all'argomento di cui si parla all'interno della discussione; per esempio, tutti i topic in cui si parla di medicina vengono indicizzati nella categoria "medicina", quelli che parlano di storia uguale, e via discorrendo.

 

Se invece creo a mano dei tag e categorizzo in tal modo le discussioni posso poi fare l'elenco per tag grazie a Content?

 

Grazie :)

Link al commento
Condividi su altri siti

  • 0

Se invece creo a mano dei tag e categorizzo in tal modo le discussioni posso poi fare l'elenco per tag grazie a Content?

Grazie :)

si, puoi usare il vantaggio di prelevare info impostando il blocco come feed e poi di eseguire una query buildandfetch per ogni risultato... ma nn so se nel feed include gia i tags, se li include non dovresti nemmeno usare una query.

ti faccio sapere appena posso.

Link al commento
Condividi su altri siti

  • 0

si, puoi usare il vantaggio di prelevare info impostando il blocco come feed e poi di eseguire una query buildandfetch per ogni risultato... ma nn so se nel feed include gia i tags, se li include non dovresti nemmeno usare una query.

ti faccio sapere appena posso.

 

Hai notizie per me? :)

 

EDIT:

 

http://community.invisionpower.com/files/file/5885-tagged-data-feeds/

 

sbaglio o questo mi darebbe esattamente la possibilità di includere tra i feed i tag?

Modificato da Ayame
Link al commento
Condividi su altri siti

  • 0

Hai notizie per me? :)

 

EDIT:

 

http://community.invisionpower.com/files/file/5885-tagged-data-feeds/

 

sbaglio o questo mi darebbe esattamente la possibilità di includere tra i feed i tag?

filtra i feed in base ai tag se imposti il valore "Filter by Tags"...

 

 

ma l'alternativa è costruire una query come vuoi tu eh!

 $tag_da_cercare = 'medicina'; // attenzione che non prende tags con lettere maiuscole a meno che non vari la query con operatori OR ...   $this->DB->build(array(	'select' => 't.*',	'from' => array('topics' => 't'),	'where' => 'ct.tag_text="'. $tag_da_cercare .'"',	'order' => 't.last_post DESC',	'limit' => array(0, 25),	'add_join' => array(	    array(		'select' => 'ct.tag_text',		'from' => array('core_tags' => 'ct'),		'where' => 'ct.tag_meta_app="forums" AND tag_meta_area="topics" AND ct.tag_meta_id=t.tid',	    ),	)    ));//    echo '<textarea>'; print_r($this->DB->fetchSqlString()); echo '</textarea>';    $this->DB->execute();    while ($risultato = $this->DB->fetch()) {	$topics_medicina[] = $risultato; // o meglio $topics['medicina'][] cosi puoi riutilizzare l'array nella stessa pagina...    }//    echo '<textarea>';//    print_r($topics_medicina);//    echo '</textarea>';

testato e funzionante ;)

ecco la query sql che ne risulta...

SELECT t.*,ct.tag_text FROM ibf_topics t  LEFT JOIN ibf_core_tags ct ON ( ct.tag_meta_app="forums" AND tag_meta_area="topics" AND ct.tag_meta_id=t.tid )   WHERE ct.tag_text="medicina" ORDER BY t.last_post DESC LIMIT 0,25

e l'array...

Array(    [0] => Array        (            [tid] => 21            [title] => prova            [state] => open            [posts] => 42            [starter_id] => 2937            [start_date] => 1365718692            [last_poster_id] => 2937            [last_post] => 1378252686            [starter_name] => bomale            [last_poster_name] => bomale            [poll_state] => 0            [last_vote] => 0            [views] => 547            [forum_id] => 76            [approved] => 1            [author_mode] =>             [pinned] => 0            [moved_to] =>             [topic_hasattach] => 0            [topic_firstpost] => 22335            [topic_queuedposts] => 0            [topic_open_time] => 0            [topic_close_time] => 0            [topic_rating_total] => 0            [topic_rating_hits] => 0            [title_seo] => prova            [seo_last_name] => bomale            [seo_first_name] => bomale            [topic_deleted_posts] => 0            [tdelete_time] => 0            [moved_on] => 0            [topic_archive_status] => 0            [last_real_post] => 1378252686            [topic_answered_pid] => 0            [description] =>             [template_fields] =>             [set_id] => 0            [tag_text] => medicina        ))

FONTE: https://www.invisionpower.com/support/guides/_/advanced-and-developers/api-methods/kernel-databases-classdbphp-r166

Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora
  • Chi sta navigando   0 utenti

    • Nessun utente registrato visualizza questa pagina.
×
×
  • Crea Nuovo...

Informazioni importanti

Abbiamo inserito dei cookies nel tuo dispositivo per aiutarti a migliorare la tua esperienza su questo sito. Puoi modificare le impostazioni dei cookie, altrimenti puoi accettarli cliccando su continua. to insert a cookie message.