3 votes

Comment ajouter des informations sur les messages aux balises script avec la syntaxe Blogger ?

Mon objectif est de créer un widget blogger qui ajoute le JS suivant à chaque page d'article (seulement les articles de blog, pas les pages) :

  <script type='text/javascript'>
    post_info = { 
        title: 'My Blog Post',                                              
        labels: 'this, that',                                              
        pub: '2011-07-05 18:15:52',
        url: 'http://foo.blogger.com/2011/07/my-blog-post.html'
    };
   </script>

Je pensais pouvoir le faire avec le code suivant :

<b:includable id='post' var='post'>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
  <script type='text/javascript'>
    post_info = {
      <b:if cond='data:post.title'>
        title: &quot;<data:post.title/>&quot;,
      </b:if>
      <b:if cond='data:post.postLabelsLabel'>
        labels: &quot;<data:post.postLabelsLabel/>&quot;,
      </b:if>
      <b:if cond='data:post.timestampLabel'>
        pub: &quot;<data:post.timestampLabel/>&quot;,
      </b:if>
      <b:if cond='data:post.url'>
        url: &quot;<data:post.url/>&quot;
      </b:if>
    };
  </script>
</b:if>
</b:includable>

Non seulement je ne sais pas où placer le code (parce que j'ai obtenu des erreurs bizarres sur le fait de ne pas placer des choses dans un prologue), mais quand je n'obtiens pas ces erreurs, je n'obtiens pas d'erreurs de dictionnaire de type "blog".

Je n'ai pas réussi à trouver la documentation qui couvre l'ajout de ce genre de choses, ni si je dois ou non utiliser des expr ou des macros, ni où cela doit aller sur la page (quel conteneur, etc.). Toute aide serait appréciée. Merci de votre aide.

1voto

Karolis Points 5900

Vous utilisez des propriétés inexistantes de postes : Voici une liste complète des propriétés disponibles

Voici à quoi devrait ressembler JavaScript :

<b:loop values='data:posts' var='post'>
    <b:if cond='data:blog.pageType == &quot;item&quot;'>
        <script type='text/javascript'>
            post_info = {
                title: &quot;<data:post.title/>&quot;,
                labels: [
                    <b:loop values='data:post.labels' var='label'>
                        &quot;<data:label.name/>&quot;
                        <b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
                    </b:loop>
                ],
                pub: &quot;<data:post.timestamp/>&quot;,
                url: &quot;<data:post.url/>&quot;
            };
        </script>
    </b:if>
</b:loop>

La méthode la plus simple consiste à placer le code ci-dessus dans le fichier b:incluables con id='main' qui se trouve dans b:widget con type='Blog' .

Quelques tutoriels tiers que j'ai utilisés pour apprendre quelque chose sur les modèles de blogueurs :

0voto

AUB CHAFiK Points 1
    <script type='text/javascript'>
        post_info = {
            title: &quot;<data:post.title/>&quot;,
            labels: [
                <b:loop values='data:post.labels' var='label'>
                    &quot;<data:label.name/>&quot;
                    <b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
                </b:loop>
            ],
            pub: &quot;<data:post.timestamp/>&quot;,
            url: &quot;<data:post.url/>&quot;
        };
    </script>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X