Joomla.it Forum

Joomla! 4 => Joomla! 4.x => : idroweb 07 Feb 2024, 19:34:21

: Modifica file default.php del com_contact per inserire articolo nel form contatt
: idroweb 07 Feb 2024, 19:34:21
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
 
:
<?php
// Inserisci l'articolo introduttivo
$articleId 118// Sostituisci con l'ID del tuo articolo
echo LayoutHelper::render('joomla.content.article', ['id' => $articleId]);
?>

default.php
 
:
<?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'); ?>
<>
: Re:Modifica file default.php del com_contact in override per inserire articolo
: idroweb 07 Feb 2024, 20:23:40
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.
: Re:Modifica file default.php del com_contact in override per inserire articolo
: giusebos 13 Feb 2024, 01:46:59
sotto l'area di testo dell'articolo troverai un pulsante per inserire il codice che richiama il modulo.
: Re:Modifica file default.php del com_contact in override per inserire articolo
: idroweb 18 Feb 2024, 17:47:30
Ciao, ma così non mi inserisce il form contatti in un modulo laterale e neppure in un articolo
: Re:Modifica file default.php del com_contact in override per inserire articolo
: giusebos 19 Feb 2024, 09:54:36
la mia indicazione vale per inserire i moduli negli articoli, per altro spenditi in spiegazioni che non capisco.
: Re:Modifica file default.php del com_contact in override per inserirci articolo
: idroweb 19 Feb 2024, 19:02:36
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:
: Re:Modifica file default.php del com_contact in override per inserire articolo
: giusebos 20 Feb 2024, 10:29:21
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.
: Re:Modifica file default.php del com_contact in override per inserire articolo
: idroweb 22 Feb 2024, 23:00:07
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.
: Re:Modifica file default.php del com_contact in override per inserire articolo
: giusebos 23 Feb 2024, 10:53:05
Non necessario fare nessun override, ne sulla versione 3, sulla 4 tantomeno sulla 5.......

non capisco che strada stai percorrrendo ed il motivo
: Re:Modifica file default.php del com_contact in override per inserire articolo
: mariarosaria 10 May 2024, 19:17:17

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 (https://prnt.sc/W3G7IOz6-ec7) sono tutti i miei moduli
: Re:Modifica file default.php del com_contact per inserire articolo nel form contatt
: $Red 11 May 2024, 21:56:04
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 (https://extensions.joomla.org/category/contacts-and-feedback/contact-forms/)  :)
: Re:Modifica file default.php del com_contact per inserire articolo nel form contatt
: mariarosaria 12 May 2024, 09:42:49
Ok, grazie.
Mi sembrava strano, la mia domanda era appunto in riferimento alla frase di giusebos, ma probabilmente avrò interpretato male.
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