Création auto d'un dossier image

février 2010 modifié dans Entraide
Bonjour,

j'ai ajouté la création automatique d'un dossier image à la création d'un article. L'article crée 3 dossiers imbriqués "categorie/article/galerie_sidebar" mais le dossier categorie prend pour nom, le numéro de catégorie. J'aimerais qu'il prenne le l'URL de la catégorie.

J'ai modifié class.plx.admin.php à la ligne 391 par
// Création du dossier associé
		$folder = PLX_ROOT . 'data/images/'.$content['catId'];
		
		if(!is_dir($folder))
		{
			mkdir($folder);
			chmod($folder, 0777);
		}
		// Création du dossier associé
		$folder = PLX_ROOT . 'data/images/'.$content['catId'].'/'.$content['url'];
		
		if(!is_dir($folder))
		{
			mkdir($folder);
			chmod($folder, 0777);
		}
		
		// Création du dossier associé
		$folder = PLX_ROOT . 'data/images/'.$content['catId'].'/'.$content['url'].'/galerie_sidebar';
		
		if(!is_dir($folder))
		{
			mkdir($folder);
			chmod($folder, 0777);
		}
merci par avance de vos lumières

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Peux essayer de remplacer
    $content['catId']
    
    par
    $this->aCats[$content['catId']]['url']
    
    ps: faut espérer qu'avec cette façon de faire que l'url de la catégorie ne change pas, sinon tu ne retrouveras pas tes données

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • merci, ça marche bien.

    en effet il ne faut pas que l'url change mais ce n'est pas prévu sur ce site alors ça devrait être bon. Enfin merci pour le P.S.
  • suite à cette modif j'aimerais que le bouton média de ma toolbar lie directement vers le dossier de l'article en cours. Je crois qu'il faut modifier la ligne 455 de class.plx.utils.php
    echo '<input class="media" type="button" onclick="openPopup(\'medias.php?dir='.JE METS QUOI ICI.'&v='.$textarea.'\',\'Médias\',\'740\',\'500\');return false;" title="Gestionnaire de médias" />';
    
    et remplacer le 'JE METS QUOI ICI' n'est-ce-pas ? Mais par quoi ?

    Merci par avances de vos lumières.
  • personne ne sait ce que je doit ajouter dans le cas qui m'intéresse ?

    aie aie...
  • StéphaneStéphane Member, Former PluXml Project Manager
    En cours de création d'un article, le nouvel article n'a pas encore été enregistré dans un fichier xml et donc aucun id n'a encore été attribué. Donc dans ce cas là tu ne peux pas faire un lien avec un dossier image qui porterait comme nom l'id de ton article

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • ah oui en effet, je n'avais pas vu comme ça (Parfois on a la tête dans le guidon et on ne pense pas à tout). Bon alors, disons que l'article est enregistré et qu'il a son ID. Peux tu me donner la démarche ?

    Merci.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Alors dans l'ordre...

    Dans le fichier core/lib/class.plx.utils.php

    Remplace :
    function getToolBar($textarea='', $origine='') {
    
    par :
    function getToolBar($textarea='', $origine='', $idart='') {
    
    Remplace
    echo '<input class="media" type="button" onclick="openPopup(\'medias.php?v='.$textarea.'\',\'Médias\',\'750\',\'520\');return false;" title="Gestionnaire de médias" />';
    
    par
    echo '<input class="media" type="button" onclick="openPopup(\'medias.php?'.(!empty($idart)?('dir='.$idart.'&'):'').'v='.$textarea.'\',\'Médias\',\'750\',\'520\');return false;" title="Gestionnaire de médias" />';
    
    Dans le fichier core/admin/article.php

    Remplace :
    <?php plxUtils::getToolBar('chapo','article') ?>
    
    par :
    <?php plxUtils::getToolBar('chapo','article',$artId) ?>
    
    et remplace :
    <?php plxUtils::getToolBar('content','article') ?>
    
    par :
    <?php plxUtils::getToolBar('content','article',$artId) ?>
    

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • ça marche très bien, merci beaucoup. Je vais pouvoir publier notre dernière réalisation avec PLUxml.
Connectez-vous ou Inscrivez-vous pour répondre.