Joomla.it ForumNon solo Joomla...Sviluppo (Moderatori: teakor, mmleoni)Accedere al componente "content" per nuova posizione.
Pagine: [1]   Vai giù
Stampa
Autore Topic: Accedere al componente "content" per nuova posizione.  (Letto 841 volte)
JA-Ifox
Newbie
*
Offline Offline

Post: 8


Mostra profilo E-mail
« il: 27 Nov 2009, 18:15:13 »

Ciao a tutti.

Ho fatto una ricerca ma non ho trovato nulla di simile al mio problema (spero di non aver cercato male  ??? )

Ho questo problema che non riesco a risolvere.

Ho necessità di aggiungere una nuova posizione nella sezione dell'articolo, quindi all'interno del componente content, se non vado errato.

Ho già fatto la procvedura per creare la posizione, dunque il div è stato inserito nell' HTML, i CSS sono ok, ed è stato aggiornato il file Templatedetails.xml.

A questo punto non riesco a posizionare il mio div esattamente dove voglio.

Nell'immagine allegata si vede dov'è il div (che ha sfondo nero) e dove ho bisogno che sia.



Ecco il frammento HTML che ci interessa:

Codice: [Seleziona]
<div class="container">
                        <div class="spacer">
                            <div class="width">

                                <?php if ($this->getBuffer('message')) : ?>
                                <div class="error err-space">
                                    <jdoc:include type="message" />
                                </div>
                                <?php endif; ?>
                                <div class="indent">
                                    <div class="width">
<div id="modulo_contatti">
                   <jdoc:include type="modules" name="contact" style="xhtml" />
                  </div>

<jdoc:include type="component" />

                                     

                                 </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

IL modulo è chiamato "modulo_contatti" ma nella posizione dove è adesso, sopra il componente degli articoli, non va bene. Ma nemmeno se lo mettessi appena sotto il componente content, perchè a questo punto il div nero che si vede nell'img slitta direttamente sotto tutto.

A questo punto credo che debba avere accesso all'HTML che compone il contenuto centrale dell'articolo (che nell HTML del template non si trova, ma con firebug lo riesco a vedere)....

dove trovare questo file?

Sto uscendo pazzo... grazie mille per gli aiuti.


Registrato
.: BlackHat :.
Team Joomla.it
Hero Member
*******
Offline Offline

Sesso: Maschio
Post: 1058


Io me e me stesso


Mostra profilo WWW E-mail
« Rispondi #1 il: 27 Nov 2009, 18:58:39 »

esatto. devi editare il modulo stesso che compone i contatti perchè altrimenti ti apparirà sempre o sotto o sopra. solitamente l'html/php del modulo lo trovi in components-com_contact->views-> qui scegli la cartella contact o category a seconda di quello che stai visualizzando ( contact è se la pagina mostra le informazioni di un unico contatto, category se hai impostato che visualizzi la categoria contatti)->tmpl-> default.php o default_form.php.

ciao
Registrato

Sogna come se dovessi vivere per sempre, vivi come se dovessi morire domani.

Woot, ma cosa sta lì, sulla destra, si si prorpio li, nella colonna di destra del sito....mhh sembra un campo di ricerca...che dici lo usiamo? ma no, meglio postare :D
JA-Ifox
Newbie
*
Offline Offline

Post: 8


Mostra profilo E-mail
« Rispondi #2 il: 27 Nov 2009, 20:04:38 »

Ti ringrazio per la risposta.

Ho qualche problemino però: ho aperto il file default.php nella cartella del componente contatti.

Il file che ho aperto è tutto in php e sinceramente non vorrei fare dei danni; non so dove mettere le mani per inserire il mio div.

Il mio modulo è un modulo contatti normale, non a categoria. Ti allego un altro screen della sorgente pagina. Ho evidenziato il mio div, e la sua posizione, poi se guardi ci sono una serie di div fino a che non arrivi al div class="width" in arancione... io devo inserire il mio div appena dopo quel .width, perchè ho fatto la prova in firebug. Solo che non so dove recuperare quello spezzone di codice.



Non so proprio dove prendere quella struttura per spostare il div che ho creato in quella posizione!

Qualche suggerimento?
Grazie

Registrato
JA-Ifox
Newbie
*
Offline Offline

Post: 8


Mostra profilo E-mail
« Rispondi #3 il: 27 Nov 2009, 20:07:26 »



Scusa, questo è l'allegato giusto
Registrato
.: BlackHat :.
Team Joomla.it
Hero Member
*******
Offline Offline

Sesso: Maschio
Post: 1058


Io me e me stesso


Mostra profilo WWW E-mail
« Rispondi #4 il: 27 Nov 2009, 21:33:38 »

emh...scusa avevo visto male l'immagine pensavo fosse la pagina dei contatti, invece no. che modulo/componente è quella pagina li? dovresti andare a editare comunque qualche file simile a quello che ti ho detto prima, solo che invece di com_contant dovresti selezionare la componente che ti interessa.

cmq dimmi che componente/modulo è quello li perchè dall'immagine si capisce poco e nnt i so dire dove andare. ciau
Registrato

Sogna come se dovessi vivere per sempre, vivi come se dovessi morire domani.

Woot, ma cosa sta lì, sulla destra, si si prorpio li, nella colonna di destra del sito....mhh sembra un campo di ricerca...che dici lo usiamo? ma no, meglio postare :D
JA-Ifox
Newbie
*
Offline Offline

Post: 8


Mostra profilo E-mail
« Rispondi #5 il: 27 Nov 2009, 22:43:57 »

Avevi visto bene, è la semplice pagina contatti di Joomla, quindi credo si riferisca al modulo contatti.

Ma se apro il file Default.php, non saprei dove mettere le mani.
Registrato
tonicopi
Global Moderator
Cyborg
********
Offline Offline

Sesso: Maschio
Post: 5131



Mostra profilo WWW E-mail
« Rispondi #6 il: 27 Nov 2009, 23:24:13 »

Prova prova prova! Prima fai una copia del file  ;)
Registrato

L'attesa del piacere è essa stessa... piacere!
www.tonicopi.it
joomlacsszengarden.com = il giardino dei css di Joomla!
JA-Ifox
Newbie
*
Offline Offline

Post: 8


Mostra profilo E-mail
« Rispondi #7 il: 27 Nov 2009, 23:25:07 »

Ho fatto dei passi avanti.

Ho cercato alla fine nella cartella del template e ho trovato il file default.php con dentro la stringa di codice html corretta e a quel punto ho inserito il mio div e si vede correttamente.

Nasce però un problemino che non avevo considerato (o quasi..). Il div è statico. Allora ho seguito questa procedura:

Ho inserito questo codice nel file default.php:

Codice: [Seleziona]
<?php /*Aggiungo la nuova posizione modulo */?>                                       
    <?php if ($this->countModules('nomeposizionecreata')) : ?>
      <div id="nuovo_div">
        <jdoc:include type="modules" name="nomeposizionecreata" style="xhtml" />
      </div>
   <?php endif; ?>
 <?php /*Fine aggiunta nuova posizione modulo*/?>

con le mie informazioni sostituite al posto giusto.

Quando aggiorno la pagina però, mi viene restituito il seguente messaggio:

Fatal error: Call to undefined method ContactViewContact::countModules() in /web/htdocs/www.biosmart.it/home/templates/theme351/html/com_contact/contact/default.php on line 27

la nuova posizione creata mi serve per assegnare un modulo nuovo di contatti che ho scaricato come estensione e dunque quella posizione deve essere dinamica...

Che tipo di errore è?

Grazie a chiunque sapesse aiutarmi!!!
ringrazio tanto blackhat per l'aiuto dato fino ad ora, ovviamente ;) ;)
Registrato
.: BlackHat :.
Team Joomla.it
Hero Member
*******
Offline Offline

Sesso: Maschio
Post: 1058


Io me e me stesso


Mostra profilo WWW E-mail
« Rispondi #8 il: 28 Nov 2009, 10:21:00 »

non credo tu possa chiamare il metodo countModules dentro quel file li. credo che all'interno di quel file non esista e quindi tu nn possa chiamare quel metodo...sono concetti di progammazione, dipende da com'è dichiarato il metodo countModules. prova a eliminare il controllo
Codice: [Seleziona]
<?php if ($this->countModules('nomeposizionecreata')) : ?>
...
 <?php endif; ?>
ma nn ti assicuro che la jdoc funzioni. prova nn si sa mai :D. ciau
Registrato

Sogna come se dovessi vivere per sempre, vivi come se dovessi morire domani.

Woot, ma cosa sta lì, sulla destra, si si prorpio li, nella colonna di destra del sito....mhh sembra un campo di ricerca...che dici lo usiamo? ma no, meglio postare :D
JA-Ifox
Newbie
*
Offline Offline

Post: 8


Mostra profilo E-mail
« Rispondi #9 il: 28 Nov 2009, 11:16:09 »

non credo tu possa chiamare il metodo countModules dentro quel file li. credo che all'interno di quel file non esista e quindi tu nn possa chiamare quel metodo...sono concetti di progammazione, dipende da com'è dichiarato il metodo countModules. prova a eliminare il controllo
Codice: [Seleziona]
<?php if ($this->countModules('nomeposizionecreata')) : ?>
...
 <?php endif; ?>
ma nn ti assicuro che la jdoc funzioni. prova nn si sa mai :D. ciau


Ehm... in che senso? :o ;D
Registrato
.: BlackHat :.
Team Joomla.it
Hero Member
*******
Offline Offline

Sesso: Maschio
Post: 1058


Io me e me stesso


Mostra profilo WWW E-mail
« Rispondi #10 il: 28 Nov 2009, 18:19:29 »

prova in questo modo

Codice: [Seleziona]
<?php /*Aggiungo la nuova posizione modulo */?>                                       
    <div id="nuovo_div">
        <jdoc:include type="modules" name="nomeposizionecreata" style="xhtml" />
      </div>
    <?php /*Fine aggiunta nuova posizione modulo*/?>

però non ti assicuro nulla, nel senso che potrebbe dare problemi la jdoc. prova e facci sapere. ciau
Registrato

Sogna come se dovessi vivere per sempre, vivi come se dovessi morire domani.

Woot, ma cosa sta lì, sulla destra, si si prorpio li, nella colonna di destra del sito....mhh sembra un campo di ricerca...che dici lo usiamo? ma no, meglio postare :D
conti1
Team Joomla.it
Cyborg
*******
Online Online

Sesso: Maschio
Post: 3091



Mostra profilo WWW E-mail
« Rispondi #11 il: 29 Nov 2009, 01:52:36 »

ciao la nuova posizione la mette sensa problemi , ma la domanda come richiami il modulo nella posizione nuova?
Registrato

se possibile postare il link  x risolvere al meglio il problema grazie
tonicopi
Global Moderator
Cyborg
********
Offline Offline

Sesso: Maschio
Post: 5131



Mostra profilo WWW E-mail
« Rispondi #12 il: 29 Nov 2009, 10:53:58 »

ciao la nuova posizione la mette sensa problemi , ma la domanda come richiami il modulo nella posizione nuova?

Come come lo richiama conti1? Pubblicherà il modulo nella nuova posizione nomeposizionecreata. Perbacco! Non lo sapevo che si potesse inserire una posizione modulo anche dentro un contatto... Questo apre nuove interessanti possibilità di personalizzazioni :D
Registrato

L'attesa del piacere è essa stessa... piacere!
www.tonicopi.it
joomlacsszengarden.com = il giardino dei css di Joomla!
conti1
Team Joomla.it
Cyborg
*******
Online Online

Sesso: Maschio
Post: 3091



Mostra profilo WWW E-mail
« Rispondi #13 il: 29 Nov 2009, 13:10:55 »

ciao la nuova posizione la mette sensa problemi , ma la domanda come richiami il modulo nella posizione nuova?

Come come lo richiama conti1? Pubblicherà il modulo nella nuova posizione nomeposizionecreata. Perbacco! Non lo sapevo che si potesse inserire una posizione modulo anche dentro un contatto... Questo apre nuove interessanti possibilità di personalizzazioni :D

ciao  tonicopi
parlato troppo presto la posizione non si vede quel che vedevo era solo l'id .
 a questo punto mi sa che non si riesce ma ma ma  se vediamo l'id  bisognerebbe richiamare la posizione  in altro modo .
Registrato

se possibile postare il link  x risolvere al meglio il problema grazie
acca8acca
Newbie
*
Offline Offline

Post: 13


Mostra profilo E-mail
« Rispondi #14 il: 03 Gen 2010, 18:10:55 »

Ciao a tutti, qualcuno ha risolto in qualche modo? Io ho la stessa esigenza.

in pratica io ho fatto la medesima cosa.

Se anche nell' index.php lascio

<jdoc:include type="modules" name="ultime_news_centrale" />

si vede (ma 2 volte, una presa dall' index.php di joomla e l' altra dal file .tpl del plugin)

Cancello il codice

<jdoc:include type="modules" name="ultime_news_centrale" />

dall' index principale e non si vede più da nessuna delle 2 parti.

qualcuno ha qualche illuminazione?
Registrato
jqjo
Sr. Member
****
Offline Offline

Sesso: Maschio
Post: 348



Mostra profilo WWW E-mail
« Rispondi #15 il: 28 Gen 2010, 17:04:41 »

bene! avendo un problema simile e avendo trovato una soluzione ho pensato di condividerla.
L' istruzione jdoc:include viene eseguita solo ed esclusivamente quando viene incontrata dentro al file index.php del template. in tutti gli altri casi viene non viene eseguita e viene stampata come normale testo.
Nel caso in cui si voglia per motivi vari includere un modulo da una vista di un componente bisogna farlo "manualmente" invocando direttmente JModuleHelper.
Di seguito il codice che ho trovato sul forum joomla.org
Codice: [Seleziona]
<?php
/*----------------------------------------------------------------*/
/*     Customisation by Keith Mountifield                         */
/*     This code snippet will load modules into a component       */
/*      Copy this code into your component's template             */
/*----------------------------------------------------------------*/

//This is the module position that you want to use. It should be set up in the template prameters
$position 'kgbhomemenu';

//This is the ID that would want to assign to the encapsulating <div> tag
$divId 'kgbhomemenu';

/*------------ You shouldn't need to edit below here -------------*/

jimport'joomla.application.module.helper' );
$module JModuleHelper::getModules$position );

//Uncomment the code below for a dump of test data to ensure that you are getting
//the correct data back for the module list
//echo '<pre>';
//print_r( $module );
//echo '</pre>';
?>

<div id="<? print $divId; ?>">
   <?
      $moduleOutput = "";
      foreach($module as $thisModule){
         $attribs['style'] = 'xhtml';
         $moduleOutput .= JModuleHelper::renderModule($thisModule,$attribs);
      }
      print $moduleOutput;
   ?>
</div>
<?
/*-------------------- End Customisation -------------------------*/
?>
per gli interessati la discussione originale:
http://forum.joomla.org/viewtopic.php?p=1943989
Registrato

A computer is like an air conditioner, it stops working when you open Windows

KISS, Keep It Simple Stupid!
Pagine: [1]   Vai su
Stampa


Mantieni aggiornato il tuo sito in Joomla  sempre all'ultima versione disponibile. Iscriviti alla Newsletter.
Benvenuto! Effettua l'accesso oppure registrati.
Specifica nel riquadro qui sopra il tuo nome utente, la tua password e la durata della sessione.

La chat di Joomla.it

Utenti in chat:  
 

Cerca nell'area del forum che stai visualizzando


Newsletter

Inserisci la tua e.mail:

Iscriviti per ricevere le ultime notizie sugli aggiornamenti e le novità direttamente nella tua casella di posta.

Sponsor

Supporto professionale su Joomla? Contatta le aziende dell'angolo dei professionisti
Top100Joomla!
Partecipa ora



Gli rss del forum di Joomla.it