Back to top

Autore Topic: Modifica file default.php del com_contact per inserire articolo nel form contatt  (Letto 1514 volte)

Offline idroweb

  • Esploratore
  • **
  • Post: 178
  • Sesso: Maschio
    • Mostra profilo
Ciao, senza l'utilizzo di estensioni esterne vorrei che nel form contatti di joomla! 5.0 (Se come la versione 4) prima del form un articolo visto che vecchi metodi di loadposition non mi pare funzionino, al momento il codice è questo ma non prende in considerazione l'articolo, non saprei se dopo l'override della cartella del solo file, oltre al file default.php di com-contatto, occorra modificare altro. Ho solo inserito l'ID dell'articolo. Grazie

Aggiunta
 
Codice: [Seleziona]
<?php
// Inserisci l'articolo introduttivo
$articleId 118// Sostituisci con l'ID del tuo articolo
echo LayoutHelper::render('joomla.content.article', ['id' => $articleId]);
?>

default.php
 
Codice: [Seleziona]
<?php
/**
 * @package     Joomla.Site
 * @subpackage  com_contact
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */


defined('_JEXEC') or die;


use 
Joomla\CMS\Helper\ContentHelper;
use 
Joomla\CMS\HTML\HTMLHelper;
use 
Joomla\CMS\Language\Text;
use 
Joomla\CMS\Layout\FileLayout;
use 
Joomla\CMS\Layout\LayoutHelper;
use 
Joomla\CMS\Plugin\PluginHelper;
use 
Joomla\CMS\Router\Route;
use 
Joomla\Component\Contact\Site\Helper\RouteHelper;


$tparams $this->item->params;
$canDo   ContentHelper::getActions('com_contact''category'$this->item->catid);
$canEdit $canDo->get('core.edit') || ($canDo->get('core.edit.own') && $this->item->created_by === $this->getCurrentUser()->id);
$htag    $tparams->get('show_page_heading') ? 'h2' 'h1';
$htag2   = ($tparams->get('show_page_heading') && $tparams->get('show_name')) ? 'h3' 'h2';
?>



<!-- Inserisci qui l'articolo introduttivo -->
<?php
$articleId 
118// ID dell'articolo introduttivo
echo LayoutHelper::render('joomla.content.article', ['id' => $articleId]);
?>



<!-- Inserisci il modulo di contatto -->
<div class="com-contact contact">
    <?php if ($tparams->get('show_page_heading')) : ?>
        <h1>
            <?php echo $this->escape($tparams->get('page_heading')); ?>
        </h1>
    <?php endif; ?>


    <?php if ($this->item->name && $tparams->get('show_name')) : ?>
        <div class="page-header">
            <<?php echo $htag?>>
                <?php if ($this->item->published == 0) : ?>
                    <span class="badge bg-warning text-light"><?php echo Text::_('JUNPUBLISHED'); ?></span>
                <?php endif; ?>
                <span class="contact-name"><?php echo $this->item->name?></span>
            </<?php echo $htag?>>
        <>
    <?php endif; ?>


    <?php if ($canEdit) : ?>
        <div class="icons">
            <div class="float-end">
                <div>
                    <?php echo HTMLHelper::_('contacticon.edit'$this->item$tparams); ?>
                <>
            <>
        <>
    <?php endif; ?>


    <!-- Includi il modulo di contatto -->
    <?php echo $this->loadTemplate('form'); ?>
<>
« Ultima modifica: 02 Mar 2024, 00:20:37 da idroweb »

Offline idroweb

  • Esploratore
  • **
  • Post: 178
  • Sesso: Maschio
    • Mostra profilo
Anche se possibile fare la stessa cosa col modulo personalizzato pubblicato in contatti, vorrei agire dal file. Inoltre vorrei la pubblicazione del form in eventuale modulo laterale ma qui buio completo.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
sotto l'area di testo dell'articolo troverai un pulsante per inserire il codice che richiama il modulo.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline idroweb

  • Esploratore
  • **
  • Post: 178
  • Sesso: Maschio
    • Mostra profilo
Ciao, ma così non mi inserisce il form contatti in un modulo laterale e neppure in un articolo

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
la mia indicazione vale per inserire i moduli negli articoli, per altro spenditi in spiegazioni che non capisco.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline idroweb

  • Esploratore
  • **
  • Post: 178
  • Sesso: Maschio
    • Mostra profilo
Considerando che il form contatti non è un modulo come gli altri, viene escluso dalla tua indicazione e per tale motivo chiedevo come e dove intervenire tramite codice per ottenere questi 2 risultati senza usare estensioni terze:
  • Ottenere il form contatti in un articolo come permesso in Visforms
  • Ottenere il form contatti in modulo laterale come in Visforms.
« Ultima modifica: 19 Feb 2024, 19:12:13 da idroweb »

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
semplicemente inserisci il modulo di contatti in un articolo.
non capisco perchè dici:

Considerando che il form contatti non è un modulo come gli altri"


Questa affermazione non corrisponde alla realtà, ad ogni modo puoi indicizzare sempre sempre il modulo di contatti senza bisogno di passare attraverso la pubblicazione del modulo dentro l'articolo.

infine non è che anche tu fai confusione tra MODULO di joomla, ovvero un blocco di codice da inserire in uno specifico spazio e un modulo inteso come FORM?

Sono 2 cose diverse che se non spiegate in modo adeguato portano solo a fraintendimenti.


Il Form di joomla può essere richiamato collegandolo ad una voce di menù (e qui che gestirai il seo),

oppure richiami il form dentro il modulo specifico FORM contatti che puoi creare cliccando su moduli nuovo modulo e scegliendo quello dei contatti, da qui in poi le impostazioni funzionano come quelle di un qualsiasi modulo.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline idroweb

  • Esploratore
  • **
  • Post: 178
  • Sesso: Maschio
    • Mostra profilo
Ti ringrazio dell'attenzione e delle risposte, sul titolo del post ho scritto circa la modifica del o dei file php del componente contatti poichè tutti i passaggi citatomi li conosco e non mi risultano funzionare almeno dalla versione di Joomla! 1.012 dal 2007, eppure ho provato tantissime volte con quasi tutte le versioni, ora ho la versione 5.0. Tuttavia ho riprovato l'ennesima volta i vari passaggi.

Tra l'altro solo utilizzando JCE Editor si vedono i pulsanti di inserimento menu, moduli, articolo, media, ecc... in fondo all'editor articolo, con Tiny MCE non li vedo ma si può inserire ugualmente col la stringa {loadmoduleid}.

In creazioni Moduli, non vedo il Form Contatti, motivo per cui sostengo che è un componente e non un modulo pubblicabile nelle varie posizioni del template Cassiopeia.

Alla stessa maniera non è possibile inserire il Form Contatti dentro un modulo laterale e neppure con codice personalizzato come invece faccio con Virsforms essendo previsto.

L'unico modo che mi risulta è richiamare dal menu il form contatti che è appunto un componente che punta al contatto, com_contact&view=contact&id=1.

Del SEO non mi preoccupo in questo caso.

Non faccio confusione, dall'inizio cito il Form Contatti che vorrei sia pubblicato sia in un articolo, sotto o sopra che sia come da prove non funzionanti fatte sul file default.php del com_contact e sia in un modulo laterale personalizzato previsto nel template.

La citazione override (Titolo modificato per evitare confusione) è semplicemente perchè opero dall'override del template visto le modifiche fatte nel tempo.

Più di così non riesco a spiegarmi.
« Ultima modifica: 02 Mar 2024, 00:26:57 da idroweb »

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Non necessario fare nessun override, ne sulla versione 3, sulla 4 tantomeno sulla 5.......

non capisco che strada stai percorrrendo ed il motivo
« Ultima modifica: 23 Feb 2024, 11:00:20 da giusebos »
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline mariarosaria

  • Appassionato
  • ***
  • Post: 514
  • Sesso: Femmina
  • Comincio a capire...
    • Mostra profilo

Sono 2 cose diverse che se non spiegate in modo adeguato portano solo a fraintendimenti.

Il Form di joomla può essere richiamato collegandolo ad una voce di menù (e qui che gestirai il seo),

oppure richiami il form dentro il modulo specifico FORM contatti che puoi creare cliccando su moduli nuovo modulo e scegliendo quello dei contatti, da qui in poi le impostazioni funzionano come quelle di un qualsiasi modulo.


 Mi scuso se riapro una vecchia discussione, ma penso di avere lo stesso problema e dato che è rimasta in sospeso ne approfitto (anche se il titolo non calza).


Sto cercando di richiamare un modulo di form contatto in una specifica posizione (right per esempio) senza collegarlo a una voce di menu (che ho già creato in precedenza).


Però io cliccando su moduli, nuovo modulo, non vedo lo specifico "Form contatti", mentre mi pare che giusebos diceva che era possibile.
Questi sono tutti i miei moduli

Offline $Red

  • Team Joomla.it
  • Instancabile
  • *******
  • Post: 5351
  • "Bastard Inside"
    • Mostra profilo
Ciao, è sempre meglio aprire un nuovo topic, comunque la risposta è semplice non lo trovi perche joomla non ha un modulo contatti ma solo il componente, se vuoi un modulo dovrai scegliero sulla JED  :)

Offline mariarosaria

  • Appassionato
  • ***
  • Post: 514
  • Sesso: Femmina
  • Comincio a capire...
    • Mostra profilo
Ok, grazie.
Mi sembrava strano, la mia domanda era appunto in riferimento alla frase di giusebos, ma probabilmente avrò interpretato male.
Citazione
oppure richiami il form dentro il modulo specifico FORM contatti che puoi creare cliccando su moduli nuovo modulo e scegliendo quello dei contatti, da qui in poi le impostazioni funzionano come quelle di un qualsiasi modulo
Grazie a tutti

 



Web Design Bolzano Kreatif