• twitter image
  • facebook image
  • youtube image
  • linkedin image
Language: CMS Made Simple Czech CMS Made Simple France CMS Made Simple Spain CMS Made Simple Hungary CMS Made Simple Russia CMS Made Simple Netherlands

All times are UTC




Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: creare nuovi customfield in modulo news via Frontend
PostPosted: Thu Mar 01, 2012 7:08 pm 
Offline
Forum Members
Forum Members

Joined: Sun Feb 19, 2012 1:45 am
Posts: 19
Premetto che sono mooolto novizio di Smarty, ma penso che si debba creare un UTD apposita per fare questo? o è possibile farlo in altro modo? ho provato a duplicare i div tramite javascript, ma duplica lo stesso customfield, e non ne crea uno nuovo nel database...

Ho bisogno di dare la possibilita agli utenti, di aggiungere nuovi campi dinamicamente, pre creare delle liste, e dar la possibilità di aggiungere risposte senza avere gia 300 field pronti... per esempio:

Ho campo custom filed in news chiamato "Risposta"
devo dare la possibilita tramite un pulsante di duplicare questo field, con le stesse proprietà ma con id e nome sequenziale, quindi "risposta2" "risposta3" ecc

so che dovrei agire sul database in "cms_module_news_fielddefs" giusto?


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: creare nuovi customfield in modulo news via Frontend
PostPosted: Thu Mar 01, 2012 9:20 pm 
Offline
Power Poster
Power Poster
User avatar

Joined: Mon Jan 14, 2008 9:08 pm
Posts: 599
Location: Villadossola - (VB)/Italy
permettimi la schiettezza...

tu vuoi fare una cosa che io reputo folle.

far interagire l'utente nella modifica del database è una pazzia.

;D


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: creare nuovi customfield in modulo news via Frontend
PostPosted: Thu Mar 01, 2012 9:27 pm 
Offline
Forum Members
Forum Members

Joined: Sun Feb 19, 2012 1:45 am
Posts: 19
\$1:
permettimi la schiettezza...

tu vuoi fare una cosa che io reputo folle.

far interagire l'utente nella modifica del database è una pazzia.



Perche?? allora non ho capito nulla io... scusa, gia quando un'utente crea una news non sta agendo sul database??

allora:

ho trovato un'utd che farebbe al caso mio:

\$1:
global $gCms;$db = $gCms->getDb();
# Get username from the FEU trigger.
# You can get a list of parameters by:
# var_dump($params); exit;
$name = $params['name'];

# Make sure this field def doesn't exist. Don't want a duplicate
$sql = "SELECT id FROM " . cms_db_prefix() . "module_news_fielddefs
WHERE name='$name'
LIMIT 1;";
$dbresult =& $db->Execute($sql);

if ($dbresult && $row=$dbresult->FetchRow()) {
return; # Field definition already exists. Abort!
}

# Field definition doesn't exist. Insert a new one
$sql = "INSERT INTO " . cms_db_prefix() . "module_news_fielddefs
(`name`, `type`, `max_length`, `create_date`, `modified_date`, `item_order`, `public`)
VALUES (?, ?, ?, ?, ?, ?, ?);";
$dbresult = $db->Execute(
$sql, array($name, 'textbox', 255, 0, 0, 1, 1)
);
# The example above is for a 'checkbox' field definition. To change,
# generate a couple of test definitions, then look at the table in
# phpMyAdmin to see how they look, then update the code.


ho provato a modificarla cosi:

\$1:
$var= '0';
$rad='prova';

global $gCms;$db = $gCms->getDb();

# Make sure this field def doesn't exist. Don't want a duplicate
$sql = "SELECT id FROM " . cms_db_prefix() . "module_news_fielddefs
WHERE name='$rad.$numb'
LIMIT 1;";
$dbresult =& $db->Execute($sql);

if ($dbresult && $row=$dbresult->FetchRow()) {
return; # Field definition already exists. Abort!
}

# Field definition doesn't exist. Insert a new one
$sql = "INSERT INTO " . cms_db_prefix() . "module_news_fielddefs
(`name`, `type`, `max_length`, `create_date`, `modified_date`, `item_order`, `public`)
VALUES (?, ?, ?, ?, ?, ?, ?);";
$dbresult = $db->Execute(
$sql, array($rad.(++$var), 'textbox', 40, 0, 0, 1, 1)
);
# The example above is for a 'checkbox' field definition. To change,
# generate a couple of test definitions, then look at the table in
# phpMyAdmin to see how they look, then update the code.


ma il risultato è che crea sempre un campo chaiamto "Prova1", e non verifica neanche se esiste gia... e lo ricrea sempre...
invece vorrei che risulti

Crea "prova1"
Se esiste gia
aumenta variabile 1=++1
crea "prova2"
crea "prova3"
crea "prova4"
ecc...


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: creare nuovi customfield in modulo news via Frontend
PostPosted: Thu Mar 01, 2012 9:45 pm 
Offline
Forum Members
Forum Members

Joined: Sun Feb 19, 2012 1:45 am
Posts: 19
$1:
add_custom_fileld.JPG
add_custom_fileld.JPG [ 62.82 KiB | Viewed 2139 times ]


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: creare nuovi customfield in modulo news via Frontend
PostPosted: Sat Mar 03, 2012 9:21 am 
Offline
Power Poster
Power Poster
User avatar

Joined: Mon Jan 14, 2008 9:08 pm
Posts: 599
Location: Villadossola - (VB)/Italy
kdrummer \kdrummer:
Perche?? allora non ho capito nulla io... scusa, gia quando un'utente crea una news non sta agendo sul database??


avevo capito che volevi modificare una tabella del DB...
c'è una bella differenza tra un SQL INSERT o SQL UPDATE e un SQL ALTER TABLE ADD COLUMN...

Aggiungere un record o modificarlo, non è la stessa cosa che modificare la struttura del DB...


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: creare nuovi customfield in modulo news via Frontend
PostPosted: Sat Mar 03, 2012 10:58 am 
Offline
Power Poster
Power Poster
User avatar

Joined: Mon Jan 14, 2008 9:08 pm
Posts: 599
Location: Villadossola - (VB)/Italy
comunque continuo a non capire il senso di cosa vuoi fare...
Nello specifico l'aggiunta di nuovi customfields in News deve considerare la modifica sia della tabella "cms_module_news_fielddefs", sia della tabella "cms_module_news_fieldvals"...
in linea teorica... anche realizzando un UDT che crei i records nelle tabelle suddette... tu permetteresti all'utente di inserire un numero illimitato di customfields... e non so questo cosa possa significare da un punto di vista delle perrformances del modulo...


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: creare nuovi customfield in modulo news via Frontend
PostPosted: Sat Mar 03, 2012 11:26 am 
Offline
Power Poster
Power Poster
User avatar

Joined: Mon Jan 14, 2008 9:08 pm
Posts: 599
Location: Villadossola - (VB)/Italy
kdrummer \kdrummer:
ma il risultato è che crea sempre un campo chaiamto "Prova1", e non verifica neanche se esiste gia... e lo ricrea sempre...
invece vorrei che risulti

Crea "prova1"
Se esiste gia
aumenta variabile 1=++1
crea "prova2"
crea "prova3"
crea "prova4"
ecc...


l'UDT che hai creato non può funzionare come vorresti...

una prima osservazione:
la variabile globale $gCms dalla 1.10 deve essere richiamata così:
\$1:
$gCms = cmsms();


nella select la variabile $numb non è dichiarata prima, quindi la ricerca risulta sul name "prova."... che non esiste e quindi lo script prosegue nell'insert...

se vuoi una ricerca sul name "prova1" devi settare la SELECT con
\$1:
$sql = "SELECT id FROM " . cms_db_prefix() . "module_news_fielddefs
WHERE name='$rad$var'
LIMIT 1;";
$dbresult =& $db->Execute($sql);


dove $var deve essere settato a 1 e non a 0 come nell'UDT
non deve esserci il punto tra le due variabili perché se no la stringa restituita nella SELECT risulterebbe "prova.1"


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
A2 Hosting