Jump to content

visualizzare blocco newsletter in pagina CMS


Recommended Posts

allora.. mi rispondo da solo visto che "credo" di esserci arrivato da solo

 

si riprende la guida proposta nel sito che ho linkato sopra ovvero :

 

1) creare nel vs. database sotto la tabella ps_hook un nuova stringa con il nome newsletter con valori di 1

2) dal menù "Moduli" selezionando "posizioni" inseriamo il blocco newsletter nella nuova posizione newsletter creata precedentemente che visualizzeremo tra i vari hook presenti

 

N.B. adesso se siete nella mia situazione non vi verrà consentito a questo punto lo spostamento del modulo e vi viene presentato un messaggio di errore, questo perchè il php del modulo newsletter non consente lo spostamento in una posizione diversa da quelle indicate, per ovviare a questo problema cercare il file blocknewsletter.php all'interno della cartella blocknewsletter nei moduli e aggiungere questa stringa :

 

 public function hooknewsletter($params)
{
 return $this->hookDisplayLeftColumn($params);

 

a questo punto potete inserire il vostro modulo nella posizione newsletter correttamente

 

 

3) editate il file classes/controller/FrontController.php aggiungendo sotto

 

'HOOK_FOOTER' => Hook::exec('displayFooter'),

 

la nuova stringa

 

'HOOK_NEWSLETTER' => Hook::exec('newsletter'),

 

4) editate il file all'interno del vostro tema themes/[your-theme]/cms.tpl inserendo la stringa sotto riporata e al posto di "vostro numero cms" mettete il numero della pagina cms corrispondente a quella dove volete far apparire il blocco newsletter esempio {if $cms->id == 8"}

 

{if $cms->id == 6}
{$HOOK_NEWSLETTER}
{/if}

 

il gioco a questo punto è fatto.. il blocco compare all'interno della pagina cms voluta..

 

 

grazie!

Edited by robertocommerce (see edit history)
  • Like 3
Link to comment
Share on other sites

  • 8 months later...
  • 5 months later...

Mi rispondo da solo: SI FUNZIONA!!!! :D :D :D :D

 

Piccola aggiunta, probabilmente ovvia! Per vedere la newsletter solo nella pagina cms creata, è necessario inserire nel modulo newsletter agganciato alla leftcolumn, le eccezioni a tutte le pagine tranne che a cms.

 

Il problema è che compare in tutte le pagine cms create, non solo quella con l'ID specificato!

 

Any ideas per risolvere?

 

Ciao e grazie!!

Edited by attila_vc (see edit history)
Link to comment
Share on other sites

Ciao Pintus :lol:

Nulla da fare....col tuo va in pagina bianca.... Ti premetto che non conosco il linguaggio di programmazione quindi io vado per super tentativi..... al posto di "PAGINA DESIDERATA" metto l'id (nel mio caso 15) o il nome pagina?

"custoCMS" o "Blocco informazioni CMS personalizzato"?

Link to comment
Share on other sites

sisi devi mettere il tuo id =) e al posto di customCMS devi mettere $HOOK_NEWSLETTER oppure l'hook che hai creato te ..non posso sapere come l'hai chiamato =) 

{if (Tools::getValue('id_cms') == PAGINA DESIDERATA )} è semplicemente la condizione per cui il tuo modulo si visualizzi solamente nella pagina cms desiderata e non in tutte quante come avevi descritto =) 

Link to comment
Share on other sites

mmmmm...non riesco proprio :unsure:

 

qui un stralcio del cms file, se metto il dollaro prima di Hook_newsletter, mi va in errore pagina 500

 

                    </li>
                {/foreach}
            </ul>
        {/if}
    </div>
{else}
    <div class="alert alert-danger">
        {l s='This page does not exist.'}
    </div>
{/if}
{if (Tools::getValue('id_cms') == 15 )}
{hook h='HOOK_NEWSLETTER'}
{/if}

<br />
{strip}
{if isset($smarty.get.ad) && $smarty.get.ad}
{addJsDefL name=ad}{$base_dir|cat:$smarty.get.ad|escape:'html':'UTF-8'}{/addJsDefL}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...