[Résolu] Accès au dossier themes

cpalocpalo Member
19 févr. modifié dans Entraide

Bonjour
On a pour accéder au dossiers d'un thème la fonction ?php $plxShow->template(); ?>
template(); ?>/css/plucss.css?v=1.3.1" media="screen,print"/>
Je voudrai créer un dossier Assets à la racine du dossier thèmes.
Comment puis-je y accéder?

Réponses

  • plxShow::template() fait partie de ces fonctions qui affichent directement leurs résultats. C'est désagréable !
    Pour récupérer sa valeur, il faut donc ruser avec le buffer de sortie de PHP.
    Dans le thème par défaut, on a ceci :

    <div class="bg"></div>
    

    On peut le remplacer par ceci :

    <?php
    ob_start(); // On piège les affichages sur la sortie
    $plxShow->template();
    $theme = ob_get_clean(); // On récupère ce qu'on a capturé
    $img = '/img/bg.jpg';
    ?>
        <div><img src="<?= $theme . $img ?>" <?= getimagesize(__DIR__ . $img)[3] ?>></div>
    

    Plus besoin d'avoir téléchargé la feuille de style theme.css pour commencer à télécharger l'image.

  • cpalocpalo Member

    <?php ob_start(); $plxShow->template(); $theme = ob_get_clean(); $assets = '/assets'; ?>
    Je ne suis pas certain de la syntaxe à utiliser
    " /common.css>
    Jusqu'ici j'utilisais une constante ce qui donnait :
    fontawesome/css/all.css">

  • <?php
    ob_start();
    $plxShow->template();
    $theme = ob_get_clean();
    ?>
    <link rel="stylesheet" type="text/css" href="<?= $theme ?>/assets/common.css" />
    <link rel="stylesheet" type="text/css" href="<?= $theme ?>/assets/fontawesome/css/all.css" />
    

    Si tu as PluXml version 6.0 installé quelque part, la liste des icônes Fontawesome disponible s'affiche avec le lien suivant :
    http://mon-super-site.com/core/admin/theme/fontello/demo.html
    et l'adresse de la feuille de style associée est :
    http://mon-super-site.com/core/admin/theme/fontello/css/fontello.css

    Pour PluXml 5.8.5 on peut atteindre la feuille de style à :
    core/admin/theme/fonts/fontello.css

    Dans les 2 cas, la liste des icônes est en fin de fichier .CSS

  • cpalocpalo Member

    Les deux lignes link ci-dessus ne s'affichent pas dans le head

  • J'ai modifié le thème par défaut comme ci-dessous sur la branche master de PluXml ( normalement version 5.8.6) et je n'ai aucun souci :

    <?php if (!defined('PLX_ROOT')) exit; ?>
    <!DOCTYPE html>
    <html lang="<?php $plxShow->defaultLang() ?>">
    <head>
        <meta charset="<?php $plxShow->charset('min'); ?>">
        <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
        <title><?php $plxShow->pageTitle(); ?></title>
    <?php
        $plxShow->meta('description');
        $plxShow->meta('keywords');
        $plxShow->meta('author');
    
    ob_start();
    $plxShow->template();
    $theme = ob_get_clean();
    ?>
        <link rel="icon" href="<?= $theme ?>/img/favicon.png" />
        <link rel="stylesheet" href="<?= $theme ?>/css/plucss.css?v=1.3.1" media="screen,print"/>
        <link rel="stylesheet" href="<?= $theme ?>/css/theme.css?v=<?php echo PLX_VERSION ?>" media="screen"/>
    <?php
        $plxShow->templateCss();
        $plxShow->pluginsCss();
    ?>
    <?php $plxShow->artNavigation("\t" . '<link rel="#dir" href="#url" />'); ?>
    <?php $plxShow->canonical(); ?>
        <link rel="alternate" type="application/rss+xml" title="<?php $plxShow->lang('ARTICLES_RSS_FEEDS') ?>" href="<?php $plxShow->urlPostsRssFeed() ?>" />
        <link rel="alternate" type="application/rss+xml" title="<?php $plxShow->lang('COMMENTS_RSS_FEEDS') ?>" href="<?php $plxShow->urlRewrite('feed.php?rss/commentaires') ?>" />
    </head>
    
  • cpalocpalo Member
    17 févr. modifié

    Le résultat obtenu reste le même

    <link rel="icon" href="http://testing-pluxml.local/themes/defaut/img/favicon.png" />
    <link rel="stylesheet" href="http://testing-pluxml.local/themes/defaut/css/plucss.css?v=1.3.1" media="screen,print"/>
     <link rel="stylesheet" href="http://testing-pluxml.local/themes/defaut/css/theme.css?v=5.8.6" media="screen"/>
    

    Mais je me suis certainement mal expliqué sur ce que je souhaitais avoir.

    Arborescence
    themes
    .....assets
    ..........plucss
    ..........knacss
    .....defaut
    .........css
    ..............theme.css
    ........img

    Et donc le résultat attendu :

    <link rel="icon" href="http://testing-pluxml.local/themes/defaut/img/favicon.png" />
    <link rel="stylesheet" href="http://testing-pluxml.local/themes/assets/knacss.css" media="screen,print"/>
     <link rel="stylesheet" href="http://testing-pluxml.local/themes/defaut/css/theme.css?v=5.8.6" media="screen"/>
    
  • <link rel="icon" href="<?php $plxShow->template(); ?>/img/favicon.png" />
    <link rel="stylesheet" href="<?= $plxShow->plxMotor->urlRewrite($this->plxMotor->aConf['racine_themes']) ?>assets/knacss.css" media="screen" />
    <link rel="stylesheet" href="<?php $plxShow->template(); ?>/css/theme.css?v=<?php echo PLX_VERSION ?>" media="screen" />
    
  • cpalocpalo Member

    Merci

  • cpalocpalo Member

    Oups j'ai parlé trop vite.
    En faisant cette modif, lorsque je retourne sur pluxml dans le navigateur, il m'affiche une page blanche

  • Désol, je n'ai pas eu le temps de tester. Voici la version testée :
    php <link rel="icon" href="<?php $plxShow->template(); ?>/img/favicon.png" /> <link rel="stylesheet" href="<?= $plxShow->plxMotor->urlRewrite($plxShow->plxMotor->aConf['racine_themes']) ?>assets/knacss.css" media="screen" /> <link rel="stylesheet" href="<?php $plxShow->template(); ?>/css/theme.css?v=<?php echo PLX_VERSION ?>" media="screen" />

  • cpalocpalo Member

    C'est ok comme ça.
    Ne sois pas désolé...Encore un grand merci pour toute l'aide que tu nous apportes.
    Après 6 mois d'infidelité à PluXml je reviens... mais il faut que je me remette dans le bain et me réapproprie mon projet là où je l'avais laissé.
    Et j'espère bientôt le partager .. enfin!!
    Cordialement

Connectez-vous ou Inscrivez-vous pour répondre.