Joomla.it Forum
Componenti per Joomla! => Gestione utenti e community => : ferraresi_4ever 04 Nov 2006, 17:54:12
-
Ciao, tramite Cb ho permesso agli utenti di inserire durante la registrazione un campo X.
Ora mi chiedo, io permetto agli utenti di scrivere notizie, ma che codice devo inserire nella pagina com_content.php per far apparire il campo X dell'utente che ha creato l'articolo?
-
Quindi il campo X appartiene all'utente, tipo il suo nome, ...
Praticamente devi recuperare l'id dell'utente che ha scritto la (o le) notizia che stai visualizzando.
Dopodichè, con tale id, vai nella tabella di CB che gestisce i campi, e prelevi il valore di X.
Poi lo visualizzi.
-
Si, ma dato che non sono un phpista mi servirebbe il codice :D
-
Napo, mica sai aiutarmi?
Ho provato vari codici ma nn riesco
-
Non ho mai usato CB, quindi non posso dirti esattamente dove mettere le mani, quindi cercherò di spiegarmi con la teoria.
Tanto per cominciare devi trovare nel file com_content.php il punto in cui vengono prelevati i dati delle notizie.
A questo punto ricavi il valore di id dell'utente che ha scritto la notizia.
A sto punto bisogna capire come CB memorizzi i campi personalizzati.
Dopodichè tramite una query SQL recuperi X e lo visualizzi.
-
Ho dato un'occhiata al codice di com_content.php.
Direi che la query di recupero delle notizie è quella di riga 1402 (Joomla 1.0.11).
L'unico riferimento all'autore è il campo author. Pertanto dentro $row->author trovi il nome dell'utente.
Ora con il nome, ammesso che sia unico, entri nelle tabelle di CB e recuperi X.
-
Napo ... io ho provato così, ma non va :
<?php
// Adsense Random
$Nhost = 'localhost';
$Nuser = '*******';
$Npassword = '*****';
$Nnamedatabase = '*******';
$Ndatabase = mysql_connect($Nhost, $Nuser, $Npassword) or die ("Impossibile connettersi al server $host");
mysql_select_db($Nnamedatabase, $Ndatabase) or die ("Impossibile connettersi al database $database");
$Nquery = "SELECT cb_pubadsense FROM jos_comprofiler WHERE author = row->$author";
$Nresult = mysql_query ($Nquery, $Ndatabase);
$Nrow = mysql_fetch_array($Nresult);
?>
<?php
$var = rand(0,1);
if ($var == 0) {
?>
<script type="text/javascript"><!--
google_ad_client = "<?= $Nrow[cb_pubadsense] ?>";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<?php
} else {
?>
<script type="text/javascript"><!--
google_ad_client = "*************";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><?php }
?>
-
Che è sta roba?
Non dovevi solo visualizzare un campo?
-
Si, io devo visualizzare il campo cb_pubadsense !
Infatti ho creato un random con 2 Adsense, uno mio e uno di chi scrive l'articolo ...
e dove ho scritto <?= $Nrow[cb_pubadsense] ?> volevo inserire il campo cb_pubadsense che hanno gli utenti nel db!
<script type="text/javascript"><!--
google_ad_client = "<?= $Nrow[cb_pubadsense] ?>";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>