Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2018-08-10 07:18:47

birdy
Membre
Lieu : Azerat-Dordogne-Périgord
Inscription : 2008-03-14
Site Web

Utilisation du plugin mrvbNextDoor

Bonjour,

J'essaie de faire fonctionner la fonction proposée par ce plugin. D'après ce que j'ai compris, il permet de faire apparaître sur un site php du contenu issu de dotclear. J'ai noté qu'il est nécessaire que dotclear et l'autre site soient sur le même serveur.

Donc, j'ai installé le plugin sur mon blog. Sur l'autre site, basé sur joomla! et installé sur le même serveur chez ovh, j'ai ajouté le code suivant :

  <?php if (!defined('DC_ROOT')) {
            define('DC_ROOT', dirname(__FILE__).'./../../blog');
          }
          $attr = array(
            'blogid'   => 'default',
            'maxitems' => '40',
            'formdate' => '%d/%m/%Y',
            'formitem' => '%DATE% : %TITLE:POST%',
          );
          include_once(DC_ROOT.'/plugins/mrvbNextDoor/externe.php');
          extNextDoor($attr);
        ?>

Je n'obtiens rien d'autre que le message : Impossible de trouver le répertoire de Clearbricks...

Bien, me dis-je. Il y a quelque chose qui ne colle pas. J'essaie en local avec MAMP. Une installation toute neuve de dotclear, j'ajoute le plugin. A côté, j'installe un joomla! tout neuf lui aussi. Dans le fichier 'index.php' du template, j'ajoute le code qui appel le plugin. J'obtiens le message : Impossible de trouver le répertoire de Clearbricks...

Je me dis que, peut-être, cela fonctionnerait si les deux installations partageaient la même base de données. J'exporte les bases de données de dotclear et de joomla!, je crée une nouvelle base de données, j'importe les deux bases dans cette nouvelle base, je modifie les fichiers de configuration, je vérifie et je note que le message renvoyé est toujours : Impossible de trouver le répertoire de Clearbricks...

Alors, je me dis qu'il doit y avoir un truc que je ne comprends pas.


A migré de dotclear 1.2.8 vers dotclear 2.3 le 28 mai 2011. Il essaie maintenant de comprendre ce que dotclear 2 lui apporte de plus.

Hors ligne

#2 2018-08-10 15:54:51

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Utilisation du plugin mrvbNextDoor

Bonjour

En premier lieu, il y a quelque chose que je ne comprends pas dans ton chemin vers DC_ROOT :

./../../blog

En effet , sauf erreur de ma part, sur Linux le ./ revient à rester dans le même dossier, et le ../ à remonter d'un niveau

Du coup je crois que tu pourrais te passer du premier ./

Mais il faudrait surtout nous donner schématiquement l'arborescence de ton serveur pour en déduire le chemin entre la page où tu veux afficher les articles du blog et l'index du blog lui-même : en gros, la position du répertoire affecté au sous-domaine blog par rapport au www ;)

PS : les bases peuvent tout à fait être séparées, le fichier externe.php interrogera seulement la base de dc

Hors ligne

#3 2018-08-10 16:08:37

birdy
Membre
Lieu : Azerat-Dordogne-Périgord
Inscription : 2008-03-14
Site Web

Re : Utilisation du plugin mrvbNextDoor

Moi non plus je ne comprends pas ce chemin. J'ai testé tout un tas de choses, tant en local que sur le serveur distant et c'est ça qui "marche".
La suite de ../ me permet de revenir à la racine du dossier 'web' de l'hébergement.

Pour l'installation joomla!, l'arborescence est : /home/michelloie/www/templates/it_blackwhite2/index.html
Pour l'installation dotclear, c'est : /home/michelloie/www/blog/

Si j'utilise tes conseils pour mettre le chemin du fichier externe.php, j'ai :

<div>
  <?php
    $attr = array(
      'blogid'   => 'default',
      'maxitems' => '40',
      'formdate' => '%d/%m/%Y',
      'formitem' => '%DATE% : %TITLE:POST%',
    );
    include_once('/home/michelloie/www/blog/plugins/mrvbNextDoor/externe.php');
    extNextDoor($attr);
  ?>
  </div>

et alors, le message d'erreur change. A présent, j'ai : "La constante DC_ROOT n'est pas définie..."


A migré de dotclear 1.2.8 vers dotclear 2.3 le 28 mai 2011. Il essaie maintenant de comprendre ce que dotclear 2 lui apporte de plus.

Hors ligne

#4 2018-08-10 16:12:26

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Utilisation du plugin mrvbNextDoor

Euh... non, le code que tu indiques était un essai pour trouver la solution dans un autre fil.

Il faut laisser le define vers DC_ROOT et trouver le bon chemin. Je reviens dans la soirée ou demain matin.

Hors ligne

#5 2018-08-10 16:15:34

birdy
Membre
Lieu : Azerat-Dordogne-Périgord
Inscription : 2008-03-14
Site Web

Re : Utilisation du plugin mrvbNextDoor

Ok, pas de problème. Merci !


A migré de dotclear 1.2.8 vers dotclear 2.3 le 28 mai 2011. Il essaie maintenant de comprendre ce que dotclear 2 lui apporte de plus.

Hors ligne

#6 2018-08-11 06:00:19

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Utilisation du plugin mrvbNextDoor

birdy a écrit :

Pour l'installation joomla!, l'arborescence est : /home/michelloie/www/templates/it_blackwhite2/index.html
Pour l'installation dotclear, c'est : /home/michelloie/www/blog/

De ces deux chemins, on déduit que le dotclear est dans le répertoire /blog , lui-même dans /www, et que chacun des CMS est installé à la racine de son sous-domaine

Le joomla! répond à la racine du www, donc son index.php est là : /home/michelloie/www/ . Ce qui apparaît ensuite (templates/it_blackwhite2/index.html) est le chemin vers le template utilisé, mais ce n'est pas une URL que l'on peut atteindre : index.php appelle simplement ce template pour construire une des page du site et son URL. Il faut donc partir de l'index.php de joomla! et trouver le chemin vers celui de dotclear

Donc DC_ROOT est dans le répertoire blog, lui-même dans le répertoire www contenant le index.php de joomla!, ce qui donne comme arborescence :

www
   index.php (joomla!)
   blog
      index.php (dotclear)

J'ai bon ?

Si c'est le cas, le code à insérer serait

<div class="mrvbNextDoor">
<?php
  if (!defined('DC_ROOT')) {
    define('DC_ROOT', dirname(__FILE__).'/blog');
  }
  $attr = array(   
   'maxitems' => '10',
   'formdate' => '%d/%m/%Y',
   'formitem' => '%DATE% : %TITLE:POST%',
   'modifurl' => '1',
  );
  include_once(DC_ROOT.'/plugins/mrvbNextDoor/externe.php');
  extNextDoor($attr);
?>
</div>

Hors ligne

#7 2018-08-11 06:15:12

birdy
Membre
Lieu : Azerat-Dordogne-Périgord
Inscription : 2008-03-14
Site Web

Re : Utilisation du plugin mrvbNextDoor

Bonjour,

Oooops. Je me suis trompé. C'est bien "/home/michelloie/www/templates/it_blackwhite2/index.php"

Le index.php de la racine de joomla! ne fait "que" retourner la requête vers celui du template (si je comprends bien). Il ne décrit rien de la page affichée par le site.

<?php
/**
 * @package    Joomla.Site
 *
 * @copyright  Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */

/**
 * Define the application's minimum supported PHP version as a constant so it can be referenced within the application.
 */
define('JOOMLA_MINIMUM_PHP', '5.3.10');

if (version_compare(PHP_VERSION, JOOMLA_MINIMUM_PHP, '<'))
{
	die('Your host needs to use PHP ' . JOOMLA_MINIMUM_PHP . ' or higher to run this version of Joomla!');
}

// Saves the start time and memory usage.
$startTime = microtime(1);
$startMem  = memory_get_usage();

/**
 * Constant that is checked in included files to prevent direct access.
 * define() is used in the installation folder rather than "const" to not error for PHP 5.2 and lower
 */
define('_JEXEC', 1);

if (file_exists(__DIR__ . '/defines.php'))
{
	include_once __DIR__ . '/defines.php';
}

if (!defined('_JDEFINES'))
{
	define('JPATH_BASE', __DIR__);
	require_once JPATH_BASE . '/includes/defines.php';
}

require_once JPATH_BASE . '/includes/framework.php';

// Set profiler start time and memory usage and mark afterLoad in the profiler.
JDEBUG ? JProfiler::getInstance('Application')->setStart($startTime, $startMem)->mark('afterLoad') : null;

// Instantiate the application.
$app = JFactory::getApplication('site');

// Execute the application.
$app->execute();

A migré de dotclear 1.2.8 vers dotclear 2.3 le 28 mai 2011. Il essaie maintenant de comprendre ce que dotclear 2 lui apporte de plus.

Hors ligne

#8 2018-08-11 06:43:18

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Utilisation du plugin mrvbNextDoor

Oui, l'index.php de joomla! ne contient pas la page d'accueil. Mais c'est lui qui dispatche les requêtes vers les différents composants du logiciel, ses gestionnaires d'URLs, ses modules, etc. pour délivrer la page demandée. Sans réécriture, toute page gérée par joomla! contient index.php? suivi d'un chemin ou de paramètres

Tout comme l'index.php de dotclear... l'URL monsite/dotclear/category/Ma-categorie est une URL générée par l'index.php de dotclear mais qui ne correspond pas à un emplacement physique sur le serveur (il n'y a pas de répertoire category)

Hors ligne

#9 2018-08-11 06:53:13

birdy
Membre
Lieu : Azerat-Dordogne-Périgord
Inscription : 2008-03-14
Site Web

Re : Utilisation du plugin mrvbNextDoor

Bon. Le problème est que si j'insère le code dans le index.php de la racine, j'ai une page blanche. Je ne le place peut-être pas au bon endroit, ceci dit. J'ai essayé de placer le code en divers endroits du index.php racine, j'ai viré les <div>. Rien n'y fait.

Par contre, si je le mets dans le index.php du template, j'ai bien un retour m'indiquant que le chemin vers clearbricks est introuvable. Selon moi, ça signifie que ça cherche bien quelque chose dans le répertoire où est installé dotclear, non ?


A migré de dotclear 1.2.8 vers dotclear 2.3 le 28 mai 2011. Il essaie maintenant de comprendre ce que dotclear 2 lui apporte de plus.

Hors ligne

#10 2018-08-11 07:07:50

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Utilisation du plugin mrvbNextDoor

Il ne faut rien mettre dans l'index.php de joomla! à la racine. C'est bien dans l'index.php du template qu'il faut ajouter le code

Et oui, si le message "No clearbrick path defined" apparaît c'est que tu as trouvé le dotclear et qu'il couine ;) Et là, ça ressemble à un problème d'installation. Ton doctlear est à jour et fonctionne normalement ?

Et au fait as-tu essayé d'insérer le code donné en #6 dans l'index.php de ton template (désolé ce n'est pas clair) ?

Hors ligne

#11 2018-08-11 07:16:21

birdy
Membre
Lieu : Azerat-Dordogne-Périgord
Inscription : 2008-03-14
Site Web

Re : Utilisation du plugin mrvbNextDoor

Nous sommes d'accord. Je comprenais que tu proposais d'ajouter le code dans le index.php de la racine.
Si je mets le code donné en #6 dans le index.php du template, ça me renvoit le message :
"Erreur: 0 - Call to undefined function extNextDoor()"

Le blog fonctionne à merveille et est à jour. Tu peux t'en assurer en allant le visiter, le lien est celui donné en regard de mon pseudo.

Sur des installations toute neuves de joomla! et de dotclear en local, j'ai le même résultat.


A migré de dotclear 1.2.8 vers dotclear 2.3 le 28 mai 2011. Il essaie maintenant de comprendre ce que dotclear 2 lui apporte de plus.

Hors ligne

#12 2018-08-11 07:22:13

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Utilisation du plugin mrvbNextDoor

Ajoute dans le code

ini_set('display_errors',true);
error_reporting(E_ALL | E_STRICT);

juste avant la ligne

if (!defined('DC_ROOT')) {

Tu auras ainsi peut-être un message d'erreur plus parlant.

Je reviens après le weekend, si personne n'a trouvé d'ici là

(pour le blog, je le visite régulièrement ;))

Hors ligne

#13 2018-08-11 07:28:36

birdy
Membre
Lieu : Azerat-Dordogne-Périgord
Inscription : 2008-03-14
Site Web

Re : Utilisation du plugin mrvbNextDoor

Le message d'erreur "plus parlant" est :

Notice: Only variables should be assigned by reference in /home/michelloie/www/templates/it_blackwhite2/error.php on line 9
Notice: Constant IT_THEME already defined in /home/michelloie/www/templates/it_blackwhite2/error.php on line 14

Et bon week-end et merci de visiter mon petit blog !


A migré de dotclear 1.2.8 vers dotclear 2.3 le 28 mai 2011. Il essaie maintenant de comprendre ce que dotclear 2 lui apporte de plus.

Hors ligne

#14 2018-08-13 08:26:10

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Utilisation du plugin mrvbNextDoor

Ce n'est pas très parlant :D

je pense que le gestionnaire d'erreurs de joomla! prend la main. Je viens d'installer une copie neuve joomla! en local pour faire des tests, et un dotclear à l'intérieur. Mais comme je ne connais pas du tout ce CMS ça peut prendre un peu de temps.

Hors ligne

#15 2018-08-13 08:45:32

birdy
Membre
Lieu : Azerat-Dordogne-Périgord
Inscription : 2008-03-14
Site Web

Re : Utilisation du plugin mrvbNextDoor

Bonjour,

Merci de ton aide.
Pour Joomla!, il me semble qu'il n'est pas possible nativement de lui faire passer du php dans les billets ou les modules. Pour ces tests, j'ai écrit le code directement dans le index.php du template.

Sinon, rien ne presse ! Et merci encore !


A migré de dotclear 1.2.8 vers dotclear 2.3 le 28 mai 2011. Il essaie maintenant de comprendre ce que dotclear 2 lui apporte de plus.

Hors ligne

#16 2018-08-13 12:33:58

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Utilisation du plugin mrvbNextDoor

Je viens de faire des tests en local avec joomla! installé à la racine et dotclear dans un répertoire nommé blog. Les deux logiciels fonctionnent bien

D'après le plugin sysInfo de dotclear, la valeur de DC_ROOT est /opt/lampp/htdocs/joomla/blog (c'est mon installation locale, le tien doit être différent)

Si je mets à la racine un simple fichier test.php avec :

<div class="mrvbNextDoor">
	<?php
	if (!defined('DC_ROOT')) {
		define('DC_ROOT', '/opt/lampp/htdocs/joomla/blog');
	}
	$attr = array(   
	'maxitems' => '10',
	'formdate' => '%d/%m/%Y',
	'formitem' => '%DATE% : %TITLE:POST%',
	'modifurl' => '1',
	);
	include_once(DC_ROOT.'/plugins/mrvbNextDoor/externe.php');
	extNextDoor($attr);
	?>
</div>

je récupère bien la liste de billets du blog

Si je mets ce même code dans le fichier /opt/lampp/htdocs/joomla/templates/protostar/index.php (soit le fichier template de l'installation par défaut), j'obtiens l'erreur

Class 'dt' not found
/opt/lampp/htdocs/joomla/blog/inc/libs/clearbricks/common/_main.php:57

J'en déduis que :

- le chemin vers le plugin mrvbNextDoor est bien trouvé
- le chemin vers clearbricks est bien trouvé
- quelque chose cloche entre le traitement des fichiers inclus par Joomla! et clearbricks

Je n'ai pas trouvé ce que ça pourrait bien être... mais tu pourrais peut-être essayer de reproduire mon exemple et avoir plus de chance si ton serveur est configuré différemment du mien ?

Hors ligne

#17 2018-08-13 13:02:48

birdy
Membre
Lieu : Azerat-Dordogne-Périgord
Inscription : 2008-03-14
Site Web

Re : Utilisation du plugin mrvbNextDoor

Ah ! Ah ! Il y a du mieux.

A la racine, j'ai créé un fichier 'test.php' qui contient :

<div class="mrvbNextDoor">
	<?php
	if (!defined('DC_ROOT')) {
		define('DC_ROOT', '/home/michelloie/www/blog');
	}
	$attr = array(
	'maxitems' => '10',
	'formdate' => '%d/%m/%Y',
	'formitem' => '%DATE% : %TITLE:POST%',
	'modifurl' => '1',
	);
	include_once(DC_ROOT.'/plugins/mrvbNextDoor/externe.php');
	extNextDoor($attr);
	?>
</div>

et là, ça fonctionne aussi chez moi.
Tu peux t'en assurer

Merci encore !


A migré de dotclear 1.2.8 vers dotclear 2.3 le 28 mai 2011. Il essaie maintenant de comprendre ce que dotclear 2 lui apporte de plus.

Hors ligne

#18 2018-08-13 13:10:46

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Utilisation du plugin mrvbNextDoor

Essaie maintenant de coller le même code dans ton template ;)

Hors ligne

#19 2018-08-13 13:23:39

birdy
Membre
Lieu : Azerat-Dordogne-Périgord
Inscription : 2008-03-14
Site Web

Re : Utilisation du plugin mrvbNextDoor

Erreur: 0 - Class 'dt' not found :D


A migré de dotclear 1.2.8 vers dotclear 2.3 le 28 mai 2011. Il essaie maintenant de comprendre ce que dotclear 2 lui apporte de plus.

Hors ligne

#20 2018-08-13 13:28:19

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Utilisation du plugin mrvbNextDoor

Chouette ! Nous avons la même erreur :D

Je viens d'essayer un module (jumi) qui permet d'insérer du code php dans un article : même résultat : test.php fonctionne s'il est appelé directement, mais s'il est inclus dans joomla! cette erreur apparaît.

Je ne sais pas si c'est la faute de clearbricks ou de joomla!, mais peut-être que sur leur forum de support tu aurais plus facilement une solution ;)

Hors ligne

#21 2018-08-13 14:00:00

birdy
Membre
Lieu : Azerat-Dordogne-Périgord
Inscription : 2008-03-14
Site Web

Re : Utilisation du plugin mrvbNextDoor

Oui, j'étais juste en train d'essayer de comprendre le fonctionnement de jumi. J'ai aussi tenté avec sourcerer. Échec sur toute la ligne dans les deux cas.
En effet, je pourrais peut-être voir du côté de la communauté Joomla!.


A migré de dotclear 1.2.8 vers dotclear 2.3 le 28 mai 2011. Il essaie maintenant de comprendre ce que dotclear 2 lui apporte de plus.

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map