Back to top

Autore Topic: Accedere al componente "content" per nuova posizione.  (Letto 6488 volte)

Offline JA-Ifox

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
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.



Offline .: BlackHat :.

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1186
  • Sesso: Maschio
  • Io me e me stesso
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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
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

Offline JA-Ifox

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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


Offline JA-Ifox

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #3 il: 27 Nov 2009, 20:07:26 »


Scusa, questo è l'allegato giusto

Offline .: BlackHat :.

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1186
  • Sesso: Maschio
  • Io me e me stesso
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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
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

Offline JA-Ifox

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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.

Offline tonicopi

  • Global Moderator
  • Instancabile
  • ********
  • Post: 12790
  • Sesso: Maschio
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #6 il: 27 Nov 2009, 23:24:13 »
Prova prova prova! Prima fai una copia del file  ;)
joomlacsszengarden.com = il giardino dei css di Joomla!
L'attesa del piacere è essa stessa... piacere!

Offline JA-Ifox

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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 ;) ;)

Offline .: BlackHat :.

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1186
  • Sesso: Maschio
  • Io me e me stesso
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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
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

Offline JA-Ifox

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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

Offline .: BlackHat :.

  • Team Joomla.it
  • Abituale
  • *******
  • Post: 1186
  • Sesso: Maschio
  • Io me e me stesso
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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
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

Offline conti1

  • Global Moderator
  • Instancabile
  • ********
  • Post: 9075
  • Sesso: Maschio
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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?
se possibile postare il link  x risolvere al meglio il problema grazie
evitare nomi commerciali grazie

Offline tonicopi

  • Global Moderator
  • Instancabile
  • ********
  • Post: 12790
  • Sesso: Maschio
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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
joomlacsszengarden.com = il giardino dei css di Joomla!
L'attesa del piacere è essa stessa... piacere!

Offline conti1

  • Global Moderator
  • Instancabile
  • ********
  • Post: 9075
  • Sesso: Maschio
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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 .
se possibile postare il link  x risolvere al meglio il problema grazie
evitare nomi commerciali grazie

Offline acca8acca

  • Nuovo arrivato
  • *
  • Post: 13
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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?

Offline jqjo

  • Appassionato
  • ***
  • Post: 358
  • Sesso: Maschio
    • Mostra profilo
Re:Accedere al componente "content" per nuova posizione.
« Risposta #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
A computer is like an air conditioner, it stops working when you open Windows

KISS, Keep It Simple Stupid!

 



Web Design Bolzano Kreatif