<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>front-end — Forum de PluXml</title>
        <link>https://forum.pluxml.org/index.php?p=/</link>
        <pubDate>Sat, 04 Apr 2026 12:09:50 +0000</pubDate>
        <language>fr</language>
            <description>front-end — Forum de PluXml</description>
    <atom:link href="https://forum.pluxml.org/index.php?p=/discussions/tagged/front-end/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>[resolu]plugins avec page en front ne fonctionnent plus - affichent une 404 .[FIXED]</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/7619/resolu-plugins-avec-page-en-front-ne-fonctionnent-plus-affichent-une-404-fixed</link>
        <pubDate>Mon, 11 Mar 2024 13:44:21 +0000</pubDate>
        <category>Version en cours de développement</category>
        <dc:creator>gcyrillus-nomade</dc:creator>
        <guid isPermaLink="false">7619@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Bonjour, <br />
tous les plugins insérant une page statique en front-end sont devenus inutilisables.<br />
PluXml les ignores totalement et renvoi une page 404 avec le message "Page non trouvée".<br />
voir <a href="https://github.com/pluxml/PluXml/pull/794" rel="nofollow">https://github.com/pluxml/PluXml/pull/794</a></p>

<p></p><details><summary>  ▼ Details obsolétes</summary><br />
Pour que les plugins affichent une page en front, ceux-ci créent un nouveau mode et une url du même nom .<br />
Tous basé sur un mode de fonctionnement mis en place à l'occasion de la sortie du plugin PlxMySearch (sauf erreur , il me semble que c'etait le tout premier plugin de Pluxml avec PlxMyContact) . L'url et le mode est extrait du paramètre 'url' de ces plugins.

<p>[FIX] pour la rc6 en dev actuelle (04-Mars-2024 -&gt; ?)<br />
Tous se passe dans la class plxMotor . Fichier  : core/lib/class.plx.motor.php</p>

<ol>
<li><p>ajouter une variable dans la class plxMotor prêtes à recevoir dans un tableau les valeurs des plugins ayant un parametre url.<br />
<code>public $modes = array(); # pages statiques des plugins</code></p></li>
<li><p>Dans la fonction  <code>protected function __construct($filename)</code> , aprés la ligne : <code>$this-&gt;plxPlugins-&gt;loadPlugins();</code> Ajouter le code suivant:</p></li>
</ol>

<pre><code>        # Recuperation des pages static des plugins
        foreach($this-&gt;plxPlugins-&gt;aPlugins as $class =&gt; $val) {
            $myclass=$class;
            $myPlug = new $myclass($this-&gt;aConf['default_lang']);
            $plugStatic = $myPlug-&gt;getParam('url');         
            $this-&gt;modes[]=$plugStatic;
        }
</code></pre>

<p>Ce code va stocké dans un tableau toutes les éventuelles occurrences de pages générées par un plugin (elles s'ajoutent à liste des pages statiques).<br />
3. dans la fonction <code>public function demarrage() {</code> ,  en fin de fonction et juste devant la partie de code :</p>

<pre><code>            default :
                $this-&gt;error404(L_ERR_PAGE_NOT_FOUND);
</code></pre>

<p>Ajouter le code suivant pour que les pages statiques des plugins s'affichent normalement si l'url demandée correspond à celle d'une des pages d'un plugin:</p>

<pre><code>            case (count($this-&gt;modes)&gt;0):
                if(in_array($this-&gt;mode,$this-&gt;modes)) 
                break;  
</code></pre>

<p>C'est tout, vos plugins sont à nouveaux utilisables en front.<br />
</p></details>
]]>
        </description>
    </item>
   </channel>
</rss>
