liza wrote:
Ciao
scusami se ti disturbo ma come sei riuscito ad associare Frontend con Blogs?
Io sto cercando di fare un blog dove solo chi si registra può mettere i commenti...ma sto impazzendo perchè blogs fa scrivere tutti indistintamente e non trovo il modo di unirlo a front end. ho persino meso self registration ma anche qui è un dramma....
mi puoi dare qualche dritta? o indicarmi un luogo dove trovare risposte..tipo un howto etc etc

?
grazie grazie grazie

Liza
ciao,
non so se ho compiutamente compreso il tuo problema... se la questione è di poter far vedere il Blog solo agli utenti registrati lo risolvi mettendo un prefisso (io ho messo "priv_") e gestendo il menu con una condizione {if}:
Code: Select all
{if $ccuser->loggedin()}{menu template='menu_horiz' excludeprefix='pub_'}{else}{menu template='menu_horiz' excludeprefix='priv_'}
in pratica "escludo" le pagine con prefisso "pub_" se l'utente ha fatto il login e quelle con prefisso "priv_" se non l'ha fatto... (così posso mostrare le pagine "login" e "registration" prefissate con "pub", se l'utente non si è autenticato, ma se si è autenticato non gliele faccio vedere, mentre può vedere quelle con "priv_"... come il Blog)
Sulla pagina del blog va poi messo un tag che impedisca all'utente di arrivare comunque all'URL del blog pur non avendolo nel menu (semplicemente conoscendolo):
Code: Select all
{if $ccuser->loggedin() && $ccuser->memberof('Community')}
{cms_module module="Blogs" show="category" catid="1"}
{else}
Access Denied. Please check your permissions.<br />
{/if}
quindi la questione commenti...
qui ho fatto una modifica al template del form di commento... in pratica ho sostituito il tag che inserisce il campo di input dell'autore con lo username dell'utente trovato con un UDT costruito per la bisogna... visto che la variabile "$customcontent_loginame" nel form di inserimento del commento non funziona...
questo è l'UDT (che ho chiamato "name_user"):
Code: Select all
$user = $params['user'];
global $gCms;
$db =& $gCms->GetDb();
$query = 'SELECT u.id, u.username FROM cms_module_feusers_users AS u WHERE u.id = '.$user.';';
$dbresult =& $db->Execute($query);
while ($dbresult && $row = $dbresult->FetchRow()) {
echo $row[username];
}
quindi ho modificato il template del form commenti... più complicato a spiegarlo che a farlo vedere... questo il mio nuovo form per i commenti...
Code: Select all
{$formstart}
<table width="463" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top" class="blogs-addcommentlabel">{$authortext}:</td>
<td align="left" valign="top" class="blogs-addcommentinput">{name_user user=$ccuser->loggedin()}<input type="hidden" name="cntnt01author" value="{name_user user=$ccuser->loggedin()}" /></td>
</tr>
<tr>
<td align="left" valign="top" class="blogs-addcommentlabel">{$commenttext}:</td>
<td align="left" valign="top" class="blogs-addcommentinput">{$commentinput}</td>
</tr>
{if $captchatext!=""}
<tr>
<td rowspan="2" align="left" valign="top" class="blogs-addcommentlabel">{$captchatext}</td>
<td align="left" valign="top" class="blogs-addcommentinput">{$captchainput}</td>
</tr>
<tr>
<td align="left" valign="top" class="blogs-addcommentinput_captcha">{$captchagraphic}<br /><br /></td>
</tr>
{/if}
<tr>
<td align="left" valign="top" class="blogs-addcommentlabel"> </td>
<td align="left" valign="top" class="blogs-addcommentinput">{$submit}</td>
</tr>
</table>
{$formend}
funziona, ma forse... anzi senz'altro... si può fare meglio...
spero di essere stato chiaro... e utile...
