problema con paginazione articoli fatti con ctl module maker

La discussione sul CMS Made Simple in italiano.

Moderator: magallo

joinweb
Forum Members
Forum Members
Posts: 24
Joined: Mon Jun 22, 2009 8:32 am

problema con paginazione articoli fatti con ctl module maker

Post by joinweb »

buongiorno a tutti

ho istallato il cms 1.7.1 ed ho ftto un modulo con CTL Module MAker per l'iserimento dei vari contenuti che non sono altro che degli articoli. Il modulo da me creato praticamente è su due livelli: categoria e articolo

tutto funziona alla perfezione il problema viene quando vado a fargli fare la paginazione. Lui me la fa ma mi fa vedere praticamente il numero e di conseguenza le pagine del totale degli articoli.

domanda
c'è modo di fargli fare la paginazione solo per gli articoli che appartengono ad una determinata categoria?

spero di essermi spiegato e che qualcuno mi aiuti

grazie mille

G.
User avatar
protempore
Power Poster
Power Poster
Posts: 599
Joined: Mon Jan 14, 2008 9:08 pm

Re: problema con paginazione articoli fatti con ctl module maker

Post by protempore »

joinweb wrote: ...
spero di essermi spiegato e che qualcuno mi aiuti
beh... credo di si... ti sei spiegato, intendo

ma una domanda sorge spontanea...

a me piace CTLModulMaker... ma non andava bene News che fa benissimo quello che vuoi fargli fare tu al tuo modulo?

quanto alla paginazione con i moduli creati con CTLModulMaker a me sembra che se fai una ricerca dovrebbe restituire il numero di record di quella ricerca e proporre la paginazione di conseguenza... ma magari mi sfugge qualcosa
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
joinweb
Forum Members
Forum Members
Posts: 24
Joined: Mon Jun 22, 2009 8:32 am

Re: problema con paginazione articoli fatti con ctl module maker

Post by joinweb »

ciao protempore

il modulo news non faceva al caso mio, o almeno penso perchè praticamente sono articoli da inserire ma oltre al testo ci devo inserire anche video foto e audio, e siccome non sono molto bravo nel modificare i moduli ho optato per il module maker che mi sembra molto piu semplice e versatile... apparte qualche intoppo

comunque se vuoi vedere di cosa si tratta prova ad andare su www.maurorosati.it/test e vedrai come funziona

per quanto riguarda la paginazione che significa fargli fare la ricerca?

grazie mille ancora

G.
User avatar
protempore
Power Poster
Power Poster
Posts: 599
Joined: Mon Jan 14, 2008 9:08 pm

Re: problema con paginazione articoli fatti con ctl module maker

Post by protempore »

beh... video, foto e campi aggiuntivi li puoi creare anche con il modulo news... e senza modificare alcun ché...

devi creare nel modulo dei campi aggiuntivi... possono essere campi testo, checkbox, textarea o file...

la parte news di questo sito è realizzata con news e, come vedi ci sono sia foto che video...

http://www.teatrolafabbrica.com/it/news ... brica.html

la parte eventi, invece, è realizzata con CTLModulMaker...

quanto alla possibilità di ricercare con il modulo creato con CTLModulMaker, lui ti da 2 possibilità...

1) definire la query nell'amministrazione del modulo e richiamarla con il tag di pagina che chiama il modulo...
{cms_module module="tuomodulo" query="1"}

2) definire nel tag di chiamata (ma devi consentire nelle preferenze del modulo le chiamate SQL manuali) una query ad-hoc...
{cms_module module="tuomodulo" what="articoli" query="A.date_modified > '2009-03-15' AND A.active = 1 AND B.name LIKE 'generali'"}

dove A si riferisce a campi del livello "articoli" e B a campi del livello parent "categorie"

poi che la funzione di paginazione funzioni, non ho verificato, ma il modulo restituendo un certo valore di records dovrebbe, di conseguenza dare una paginazione conseguente...
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
joinweb
Forum Members
Forum Members
Posts: 24
Joined: Mon Jun 22, 2009 8:32 am

Re: problema con paginazione articoli fatti con ctl module maker

Post by joinweb »

perfetto grazie mille di nuovo!!!!
User avatar
protempore
Power Poster
Power Poster
Posts: 599
Joined: Mon Jan 14, 2008 9:08 pm

Re: problema con paginazione articoli fatti con ctl module maker

Post by protempore »

comunque qualche problema con la paginazione i moduli creati con CTLModulMaker ce li hanno...

quanto meno se utilizzi query SQL manuali bisogna fare qualche modifica al file action.default.php

le righe 12 e 51 vanno commentate così da disattivare la definizione della variabile
$parentlevel = $this->get_nextlevel($what, false);

altrimenti nella select inserisce anche il parent del livello da ricercare e sballa i risultati...

però io sto utilizzando la versione 1.9 di CTLModulMaker... scaricata via svn e non ancora rilasciata... e magari il problema è un altro... ma non credo.
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
User avatar
protempore
Power Poster
Power Poster
Posts: 599
Joined: Mon Jan 14, 2008 9:08 pm

Re: problema con paginazione articoli fatti con ctl module maker

Post by protempore »

meglio...

sostituire la riga 51 con:

Code: Select all

	if(strpos($params["query"], 'B.')!=false){
		$parentlevel = $this->get_nextlevel($what, false);
	}
così se nella query c'è comunque un riferimento al livello parent costruisce la select con il riferimento anche a quella tabella...
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
joinweb
Forum Members
Forum Members
Posts: 24
Joined: Mon Jun 22, 2009 8:32 am

Re: problema con paginazione articoli fatti con ctl module maker

Post by joinweb »

rieccomi

perdonami se ancora ti rompo ma ho provato a fare tutto quello che mi hai detto ma non funziona niente mi dà come contenuto della pagina no item found

sono disperatissimo
User avatar
protempore
Power Poster
Power Poster
Posts: 599
Joined: Mon Jan 14, 2008 9:08 pm

Re: problema con paginazione articoli fatti con ctl module maker

Post by protempore »

joinweb wrote: rieccomi

perdonami se ancora ti rompo ma ho provato a fare tutto quello che mi hai detto ma non funziona niente mi dà come contenuto della pagina no item found

sono disperatissimo
non funziona niente cosa vuol dire? non funziona il modulo o la paginazione?
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
joinweb
Forum Members
Forum Members
Posts: 24
Joined: Mon Jun 22, 2009 8:32 am

Re: problema con paginazione articoli fatti con ctl module maker

Post by joinweb »

Il modulo funziona ma se inserisco la query SQL mi dice no item found e se ne inserisco una fatta dal modulo stesso mi sballa tutta la paginagimazione

Se vuoi avere un'idea il link e www.maurorosati.it/index.php?page=rassegna-stampa

Ora ho messo la query fatta dal modulo stessoa come vedrai nella paginazione mi da il conto di tutti gli articoli anche di quelli altre categorie

Grazie ancora
User avatar
protempore
Power Poster
Power Poster
Posts: 599
Joined: Mon Jan 14, 2008 9:08 pm

Re: problema con paginazione articoli fatti con ctl module maker

Post by protempore »

joinweb wrote: Il modulo funziona ma se inserisco la query SQL mi dice no item found e se ne inserisco una fatta dal modulo stesso mi sballa tutta la paginagimazione
cosa intendi quando fai questa distinzione? inserire una query... e farne una dal modulo stesso?

puoi postare la query che stai utilizzando?
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
joinweb
Forum Members
Forum Members
Posts: 24
Joined: Mon Jun 22, 2009 8:32 am

Re: problema con paginazione articoli fatti con ctl module maker

Post by joinweb »

intendo mettere la query sql come mi hai spiegato te direttamente al momento che richiamo il modulo
es: {cms_module module="articoli" what="articoli"  listtemplate="interna" forcelist="1" parent="Rassegna-stampa" detailpage="articolo" nbperpage="8" query="A.date_modified > '2009-03-15' AND A.active = 1 AND B.name LIKE 'Rassegna-stampa'"} (risultato no item found non so se ho fatto bene :-((( )


oppure inserire una query fatta dal tab query del modulo stesso es: {cms_module module="articoli" what="articoli"  listtemplate="interna" forcelist="1" parent="Rassegna-stampa" detailpage="articolo" nbperpage="8" query="11"} (risultato paginazione sballata come quella che ora è online)

non so se mi sono spiegato
User avatar
protempore
Power Poster
Power Poster
Posts: 599
Joined: Mon Jan 14, 2008 9:08 pm

Re: problema con paginazione articoli fatti con ctl module maker

Post by protempore »

si, ma sei sicuro che quelle query devono restituire dei risultati?

se scrivi:

Code: Select all

query="A.date_modified > '2009-03-15' AND A.active = 1 AND B.name LIKE 'Rassegna-stampa'"
vuol dire che ricerchi degli articoli che sono stati inseriti o modificati dopo il 15 marzo 2009 e la categoria di appartenenza (mi sembra che tu abbia chiamato così il livello superiore) deve essere "Rassegna-stampa"... è così?

la query con ID->11 non so come è costruita... devo dire che ho trovato un problema con ctlModulMaker... nella funzione buildWhere() del modulo aggiunge la funzione addslashes() ai valori della query e, almeno a me, crea problemi perchè, ad esempio propone le date in questo modo... "\'2009-03-15 00:00:00\'"... e così SQL restituisce errore...

io quella funzione l'ho modificata così... magari risolvi anche tu:

Code: Select all

	function buildWhere($where=array(),$what=""){
		$multiplelistfields = array();
		$whereclause = "A.active=1";
		$wherevalues = array();
		foreach($where as $clause){
			if(in_array($what."_".$clause[0], $multiplelistfields)){
				// list with multiple selected values are saved in a serialized array, so we have to tweak the value
				$clause[1] = '"'.$clause[1].'"';
				$clause[2] = 1;
			}
			if($clause[0] == "parent"){
					$criteria = explode(",",$clause[1]);
					if(count($criteria) > 1){
						$tmp = "";
						foreach($criteria as $crit){
							$tmp = ($tmp==""?"":" OR ")."A.parent=".$crit;
						}
						$tmp = " AND (".$tmp.")";
					}else{
						$tmp = " AND A.parent=?";
						$wherevalues[] = $clause[1];
					}
					$whereclause .= $tmp;
				
			}else{
				switch($clause[2]){
					case 0:
						$whereclause .= " AND A.".$clause[0]."=?";
						$wherevalues[] = $clause[1];					
						break;
					
					case 1:
						$whereclause .= " AND A.".$clause[0]." LIKE '%".$clause[1]."%'";
						break;
					
					case 2:
						$whereclause .= " AND A.".$clause[0]." != ?";
						$wherevalues[] = $clause[1];
						break;
						
					case 3:
						$whereclause .= " AND A.".$clause[0]." > ?";
						$wherevalues[] = $clause[1];					
						break;
						
					case 4:
						$whereclause .= " AND A.".$clause[0]." < ?";
						$wherevalues[] = $clause[1];					
						break;
					case 5:
						$whereclause .= " AND (A.".$clause[0]." > ? AND A.".$clause[0]." < ?)";
						$wherevalues[] = $clause[1][0];
						$wherevalues[] = $clause[1][1];
						break;					
				}
			}
		}
		return array($whereclause, $wherevalues);
	}
	
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
joinweb
Forum Members
Forum Members
Posts: 24
Joined: Mon Jun 22, 2009 8:32 am

Re: problema con paginazione articoli fatti con ctl module maker

Post by joinweb »

si è cosi pero lui non mi da risultati

la query 11 praticamente prende il campo data (che è un campo che ho inserito io in piu perchè hanno bisogno di cambiare la data) e la ordina in ordine decrescente.

per ovviare non c'è modo di poter modificare la data di creazione direttamente dall'inserimento articolo cosi loro modificano quella ed io leordino con orderby="created"?
User avatar
protempore
Power Poster
Power Poster
Posts: 599
Joined: Mon Jan 14, 2008 9:08 pm

Re: problema con paginazione articoli fatti con ctl module maker

Post by protempore »

joinweb wrote: si è cosi pero lui non mi da risultati
probabilmente non gli piace '2009-03-15', ma vuole una cosa del tipo: '2009-03-15 00:00:00'
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Post Reply

Return to “Italian - Italiano”