Un total de 6 pages ont été trouvées avec le mot clé doryphore.

Action {{bazarliste}} : afficher les données d'autres YesWiki


L'action {{bazarliste}} permet d'afficher les données des formulaires. Il est possible d'afficher les données d'autres YesWiki en même temps que les données locales.
Cette fiche de documentation correspond à une action en cours de développement uniquement utilisable avec la version doryphore à partir de 2021-05-12.

Il est possible d'afficher les données d'un autre site YesWiki.

1. Mettre à jour le YesWiki et le distant pour avoir la version Doryphore après 2021-05-12-24
2. Définir l'action
{{bazarliste id="1" template="map" ...}}
pour correspondre au besoin (documentation ou utiliser le bouton composants lors de la modification d'une page)
3. Identifier l'adresse des YesWiki distants et les formulaires recherchés. Ex:
https://www.example.com/?PagePrincipale
formulaire 4 et
https://www.example.com/trombi2/?PagePrincipale
formulaire 5
5. remplacer pour l'action bazarliste id par
id="1,https://www.example.com/?PagePrincipale|4,https://www.example.com/trombi2/?PagePrincipale|5,6"

6. Sauver la page et enjoy

Explications:
  • chaque formulaire est séparé par une virgule
  • un formulaire local est uniquement représenté par un nombre. Dans l'exemple, nous avons les formulaires 1 et 6
  • un formulaire distant est représenté par son url suivi de `|` suivi du numéro de son formulaire. Dans l'exemple, nous avons deux formulaires distants.
  • S'il faut plusieurs formulaires distants d'un même YesWiki, il faut à chaque fois répéter l'url devant `|`

Rafraichir les données locales:

Il y a un système de cache des requêtes externes dont la durée est paramètrable par les variables baz_external_service_time_cache_for_entries et baz_external_service_time_cache_for_forms (voir config.yaml). Pour forcer un rafraîchissement des données, il faut être connecter et ajouter à la fin de l'url :
&refresh=1


Pour aller plus loin, pour les personnes connaissant les fields:
  • pour configurer l'affichage des données sur le site local, il faut plutôt créer un formulaire qui ressemble au formulaire distant (même nom de champs) mais avec vos adaptations
  • noter le numéro de ce formulaire en local (A pour l'exemple)
  • noter le numéro du formulaire distant (B pour l'exemple)
  • entrer dans id ceci
    id="http://www.exemple.com/?PagePincipale|B->A"
    
  • Tout se joue avec l'association de B vers A.

Pour lier à un template custom fiche-x.tpl.html:
x étant le numéro du formulaire local concerné
  • 1. dupliquer le formulaire distant sur le YesWiki local en utilisant la fonctionnalité d'importation disponible en bas de la page BazaR
  • 2. copier le fichier fiche-x.tpl.html dans le dossier local custom/templates/bazar/ avec le nom fiche-y.tpl.html où y est le numéro du formulaire dupliqué en local
  • 3. modifier le formulaire y en local en mode code en remplaçant, z étant le numéro du formulaire distant
    • liste***...***...*** *** ***...
      
      par
      externalselectlistfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***liste***...
      
    • listefiche***...***...*** *** ***...
      
      par
      externalselectentryfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***listefiche***...
      
    • listefiches***...***...*** *** ***...
      
      par
      externallinkedentryfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***listefiches***...
      
    • listefichesliees***...***...*** *** ***...
      
      par
      externallinkedentryfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***listefichesliees***...
      
    • checkbox***...***...*** *** ***...
      
      par
      externalcheckboxlistfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***checkbox***...
      
    • checkboxfiche***...***...*** *** ***...
      
      par
      externalcheckboxentryfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***checkboxfiche***...
      
    • radio***...***...*** *** ***...
      
      par
      externalradiolistfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***radio***...
      
    • tags***...***...*** *** ***...
      
      par
      externaltagsfield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***tags***...
      
    • fichier***...***...*** *** ***...
      
      par
      externalfilefield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***fichier***...
      
    • image***...***...*** *** ***...
      
      par
      externalimagefield***...***...*** https://www.example.com/?BazaR/json&demand=forms&id=y***image***...
      

Dans l'exemple:
  • le formulaire concerné est
    https://www.example.com|z
    
  • la formule entrée dans le paramètre id de
    {{bazarliste id="}}
    est
    https://www.example.com|z->y
    


Si dans votre formulaire local vous voulez un comportement correct pour les liens, inspirez-vous des externalfields, comme par exemple :
  • pour les urls vers les fiches
    $fiche['url']
    
  • pour les urls vers les fiches avec un handler
    $fiche['url'] . '/pdf'
    
  • pour savoir si la fiche est externe
    isset($fiche['external-data'])
    
  • pour avoir l'url de base du site distant pour les fiches externes
    $fiche['external-data']['baseUrl']
    

Convertir un template Bazar
.tpl.html
en
.twig


.twig
: qu'est-ce ?


  • .twig
    
    est un langage pour décrire des modèles (templates) pour la génération de sortie HTML à partir d'un script PHP.
  • Il y a une documentation officielle bien garnie

Comment faire ?


  • 1. Choisir un template à convertir. (Exemple :
    liste_liens.tpl.html
    
    )
Le code source de la version de travail de ce fichier est recopiée à la fin de cette page.
  • 2. Vérifier la présence de ce fichier dans le dossier
    tools/bazar/presentation/templates/
    
  • 3. Copier le fichier dans le dossier
    custom/bazar/templates/
    
  • 4. Identifier les fonctions php non standards ; ici
    getCustomValueForEntry()
    
  • 5. Recopier le contenu de
    custom/bazar/templates/liste_liens.tpl.html
    
    dans
    custom/bazar/templates/liste_liens.twig
    
    en retirant ce qui concerne les fonctions non-standard.
<?php
if(count($fiches)>0) : ?>
    <?php echo $info_res;?>
    <ul class="BAZ_liste <?php echo $param['class'];?>">
    <?php
    foreach($fiches as $fiche): ?>
        <li class="bazar-entry" <?php echo $fiche['html_data'];?>>
          <a href="<?php echo $fiche['url']; ?>"
           target="_blank">
            <?php
            if (!empty($color)) {
              echo '<span class="pellet" style="background-color:'.$color.';"></span> ';
            }
            if (!empty($icon)) {
              echo '<i class="'.$icon.'"></i> ';
            }

            echo '<span class="entry-title">'.$fiche['bf_titre'].'</span>';
            ?>
          </a>
        </li>
        <?php
    endforeach; ?>
    </ul>
    <?php echo $pager_links;?>
<?php endif; ?>


  • 6. traduire le code
    php
    
    en
    .twig
    
    (voir le tableau de conversion utilisé en fin de cette fiche) pour obtenir ceci
{% if fiches|length > 0 %}
  {{ info_res }}
  <ul class="BAZ_liste {{ param.class }}">
    {% for in,fiche in fiches %}
      <li class="bazar-entry" {{ fiche.html_data }}>
        <a href="{{ fiche.url }}" target="_blank">
         {% if colors[id] %}
           <span class="pellet" style="background-color:{{ colors[id] }}"></span>
         {% endif %}
         {% if icons[id] %}
           <i class="{{ icons[id] }}"></i>
         {% endif %}
         <span class="entry-title">{{ fiche.bf_titre }}</span>
       </a>
      </li>
    {% endfor %}
  </ul>
  {{ pager_links }}
{% endif %}

  • 7. tester ce fichier avec le code suivant dans une page de test
    {{bazarliste id="1" template="liste_liens.twig"}}
    
    Tout ne fonctionnera pas car il n'y a plus les couleurs et les icônes.

  • 8. pour rétablir les icônes et les couleurs, il faut conserver le fichier
    liste_liens.tpl.html
    
    mais complétement le réécrire avec ceci
<?php
$colors = [];
$icons = [];
foreach ($fiches as $id => $fiche){
    $colors[$id] = getCustomValueForEntry(
      $param['color'],
      $param['colorfield'],
      $fiche,
      ''
    );
    
    $icons[$id] = getCustomValueForEntry(
      $param['icon'],
      $param['iconfield'],
      $fiche,
      ''
    );
}
echo $this->render('@bazar\liste_liens.twig',[
        'fiches' => $fiches,
        'param' => $param,
        'colors' => $colors,
        'icons' => $icons,
        'info_res' => $info_res,
        'pager_links' => $pager_links,
    ]);

  • La première partie permet de stocker les informations de couleur et d'icône dans les variables
    colors
    
    et
    icons
    
    .
  • Ensuite, on génère le rendu du fichier
    .twig
    
    grâce à
    echo $this->render()
    
    .
  • Il faut alors passer en paramètre un tableau qui a la liste exhaustive des variables utilisées par le
    .twig
    
  • Le test se fait avec ceci
    {{bazarliste id="1" template="liste_liens"}}
    
    ou
    {{bazarliste id="1" template="liste_liens.tpl.html"}}
    
  • 9. Il est alors possible de publier le code dans le coeur de YesWiki en mettant les fichiers dans les dossiers suivant:
    • tools/bazar/presentation/templates/liste_liens.tpl.html
      
    • tools/bazar/templates/liste_liens.twig
      

PHP
->
.twig


<?php if(count($fiches)>0) : ?>

->
{% if fiches|length > 0 %}

<?php endif; ?>

->
{% endif %}

<?php echo $info_res;?>

->
{{ info_res }}

<?php echo $param['class'];?>

->
{{ param.class }}

<?php foreach($fiches as $fiche): ?>

->
{% for fiche in fiches %}

<?php foreach($fiches as $id => $fiche): ?>

->
{% for id,fiche in fiches %}

<?php endforeach; ?>

->
{% endfor %}

<?php echo $fiche['html_data'];?>

->
{{ fiche.html_data }}

<?php echo $fiche['url']; ?>

->
{{ fiche.url }}

if (!empty($color)) {

->
{% if colors[id] %}
avec introdution de la variable
colors

echo '<span class="pellet" style=
"background-color:'.$color.';"></span> ';

->
<span class="pellet" style="background-color:{{ colors[id] }}"></span>

if (!empty($icon)) {

->
{% if icons[id] %}
avec introdution de la variable
icons

echo '<i class="'.$icon.'"></i> ';

->
<i class="{{ icons[id] }}"></i>

echo '<span class="entry-title">'
.$fiche['bf_titre'].'</span>';

->
<span class="entry-title">{{ fiche.bf_titre }}</span>

<?php echo $pager_links;?>

->
{{ pager_links }}


<?php
if(count($fiches)>0) : ?>
    <?php echo $info_res;?>
    <ul class="BAZ_liste <?php echo $param['class'];?>">
    <?php
    foreach($fiches as $fiche): ?>
        <li class="bazar-entry" <?php echo $fiche['html_data'];?>>
          <a href="<?php echo $fiche['url']; ?>"
           target="_blank">
            <?php
            $style = '';
            $color = getCustomValueForEntry(
              $param['color'],
              $param['colorfield'],
              $fiche,
              ''
            );
            if (!empty($color)) {
              echo '<span class="pellet" style="background-color:'.$color.';"></span> ';
            }
            $icon = getCustomValueForEntry(
              $param['icon'],
              $param['iconfield'],
              $fiche,
              ''
            );
            if (!empty($icon)) {
              echo '<i class="'.$icon.'"></i> ';
            }

            echo '<span class="entry-title">'.$fiche['bf_titre'].'</span>';
            ?>
          </a>
        </li>
        <?php
    endforeach; ?>
    </ul>
    <?php echo $pager_links;?>
<?php endif; ?>

Gérer les personnalisations de thème en CSS


La solution : PageCSS

(uniquement à partir de Doryphore)

La mise en forme de YesWiki est gérée par un thème qu'il est possible de modifier comme l'explique la page Changer de thème graphique.
Toutefois, certaines modifications pour votre site demandent des personnalisations.

Vous pouvez les définir en CSS directement dans une page de votre wiki en y insérant par exemple le code suivant pour afficher le texte de tous les liens en rouge :
""<style>
a {
	color : red ;
}
</style>""


Toutefois, pour que ceci fonctionne, il faut l'intégrer dans une page qui est affichée tout le temps comme PageFooter. Mais ceci rend compliqué la lecture de cette page.

La solution : copier tout votre code CSS directement dans PageCSS. Cette page sera chargée automatiquement en début de votre page comme feuille de style en cascade CSS.

Voici ce qu'il faudrait y mettre pour notre exemple :
a {
	color : red ;
}

{{video}}


Attention, cette action sera bientôt disponible sur Doryphore, .... patience pour la tester ;-)

Comportements
Permet d'intégrer une vidéo en provenance de Youtube, Vimeo ou Peertube

Paramètres utilisables
  • les paramètres en gras sont obligatoires
  • un paramètre se déclare de la manière suivante nomduparametre="valeurduparametre"
nom du paramètre valeurs du paramètre
serveur serveur hébergeant la video ; valeurs possibles : "youtube", "peertube", "vimeo"
id identifiant de la vidéo sur le serveur
peertubeinstance Instance PeerTube utilisée ; Par exemple, "https://framatube.org/", vide par défaut
ratio vide par défaut, correspond à 16/9; "4par3" correspond à 4/3
largeurmax vide par défaut, mettre un nombre pour définir une largeur maximale sans unité
hauteurmax vide par défaut, mettre un nombre pour définir une hauteur sans unité
class vide par défaut, class du conteneur valeurs possible: "pull-right","pull-left"


Exemple
{{video serveur="youtube" id="sPvNuGn3Hic"}}


Version avancée
{{video serveur="peertube" id="2d4c0cb7-3336-4b1f-934b-dcccb2ebe4a0" ratio="4par3" largeurmax="200" hauteurmax="100" class="pull-right"}}

{{pdf}}


Attention, cette action sera bientôt disponible sur Doryphore, .... patience pour la tester ;-)

Comportements
Permet d'afficher un pdf présent sur le site

Paramètres utilisables
  • les paramètres en gras sont obligatoires
  • un paramètre se déclare de la manière suivante nomduparametre="valeurduparametre"
nom du paramètre valeurs du paramètre
url url d'un fichier pdf présent sur le même serveur
ratio vide par défaut, correspond à "portrait" ; valeurs possibles "portrait" - "paysage" - "carre"
largeurmax vide par défaut, mettre un nombre pour définir une largeur maximale sans unité
hauteurmax vide par défaut, mettre un nombre pour définir une hauteur sans unité
class vide par défaut, class du conteneur valeurs possible: "pull-right","pull-left"


Exemple
{{pdf url="https://yeswiki.net/?DocumentationActionPDF/download&file=Test.pdf"}}


Version avancée
{{pdf url="https://yeswiki.net/?DocumentationActionPDF/download&file=Test.pdf" ratio="paysage" largeurmax="200" hauteurmax="100" class="pull-right"}}

Extension LMS


Permet d'utiliser YesWiki comme une plateforme d'apprentissage (LMS : Learning Management System).

Installation


  1. Copiez l'extension dans votre dossier tools ou installez-la depuis la page
    GererMisesAJour
    
    sur votre YesWiki.
  2. Une fois l'installation automatique terminée sans erreur, taper
    /update
    
    à la fin de l'url d'une page. Ceci terminera la mise à jour du module LMS.

Exemple :
https://www.example.com/?GererMisesAJour/update


Utilisation


  1. Rendez-vous sur la page
    Bazar
    
    de votre YesWiki
  2. Ajoutez des activités LMS en ajoutant des fiches au formulaire ID = 1201
  3. Ajoutez ensuite des modules LMS en ajoutant des fiches au formulaire ID = 1202
  4. Ajoutez ensuite un parcours LMS en ajoutant un fiche au formulaire ID = 1203
  5. Notez l'url de ce parcours. Vous pouvez l'indiquer sur votre liste de parcours.

La documentation technique à jour est disponible ici.
Filter :   pdf  A améliorer  A relire  Ã©dition  action  brother Printer Support  Call Girls Service in Chennai  code  Développement  dell printer support  Demandé  documentation  doryphore  droits utilisateurs  extension  facile  fichiers  flo  github  groupes  hp printer support  identification  insertion  intermédiaire  interopérabilité  liens  lms  menus  mise en forme  modification  mots de passe  Newsletter  notifications  obsolète  pages  pages spéciales  php  pieds de page  prob d'interprétation  publication  restauration  rss  securité  sémantique  serveur  spam  style  template  thèmes  todo  twig  versions  videos  widget