Répondre

Veuillez composer votre message et l'envoyer
Options
Si vous êtes un être humain ne changez pas le contenu de ces deux champs.

Retour

Résumé de la discussion (messages les plus récents en premier)

jonas
27-03-2010 20:21

J'ai intégrer ton modèle de collection dans trunk wink (traduit en français + un peu modifié)

Patator
19-03-2010 14:35
jonas a écrit :

AH ! MAIS JE N'AVAIS PAS COMPRIS QUE C'ÉTAIT UNE COLLECTION D'EPISODE TV

big_smile, my mistake wink

Oui c'est la collection officielle de GCStar.

Les pages sont en Allemand, mais je t'envoie quand même les fichiers en espérant que ca aide.

jonas a écrit :

PS : Par contre j'ai corriger un autre problème grace àa toi <tr> en maintenant dans la boucle smile

Avec plaisir!

jonas
19-03-2010 13:37

Concernant la correction pour l'affichage des acteurs, le code que tu proposes ne respecte pas les recommandations w3c. Je vais regarder du coté de la feuille de style pour corriger le problème graphique.

PS : Par contre j'ai corriger un autre problème grace àa toi <tr> en maintenant dans la boucle smile

jonas
19-03-2010 12:38

AH ! MAIS JE N'AVAIS PAS COMPRIS QUE C'ÉTAIT UNE COLLECTION D'EPISODE TV

J'ai d'abord cru que c'était une collection de musique (car piste audio) puis films (car les catures resemblent à celle des collections de film).

Il s'agit bien d'une collection "officiel" de GCstar ?
  * Si oui, serais tu d'accord que j'intègre des fichiers dans la prochaine version de GCweb ?
    * Si oui merci de m'envoyer tes fichier une fois ceux-ci terminer. Par contre il son en allemand ou en français ?

Concernant les problèmes avec les pistes audios je pense plutôt faire un "plugin" qui ferra quelque chose de similaire que ta fonction filter_lng lors du parsing du fichier xml.

Patator
18-03-2010 21:12

J'ai résolu le problème de la façon suivante, et cela devrais permettre une intégration simple dans le générateur de thèmes:

Dans le fichier où j'affiche les pistes son je change:

<?php if (test($item['audio'])) {?> <li><span class="label"><?php echo __('Language') ?> : </span><span class="info"><?php aff_filter('audio==',$item['audio']) ?></span></li><?php } ?>

par:

<?php if (test($item['audio'])) {?> <li><span class="label"><?php echo __('Language') ?> : </span><span class="info"><?php aff_filter_lng('audio==',$item['audio']) ?></span></li><?php } ?>

Ou dans le détail d'un film je rajoute:

if (test($item['audio']))       echo '<li><span class="label">'.__('Language').'  :     </span><span class="info-item">'.filter_lng('audio==',$item['audio']).'</span></li>';
if (test($item['subt']))        echo '<li><span class="label">'.__('Subtitles').'  :    </span><span class="info-item">'.filter('subt==',$item['subt']).'</span></li>';

Et dans le fichier global func4tpl.php à la fin:

/*** Fonction d'affichage ********************************************/
/*
 * La fonction suivante prépare la liste de languages audio pour être affichée
 * par la fonction standard d'affichage des listes
 */
function aff_filter_lng($prefix,$var,$text=False,$separator=", ",$optionBalise="",$model=False)
{
        echo filter_lng($prefix,$var,$text,$separator,$optionBalise,$model);
}

function filter_lng($prefix,$var,$text=False,$separator=", ",$optionBalise="",$model=False)
{
        $parser = 0;
        $languages = array();
        foreach($var as $audioel)
        {
                $languages[$parser++] = $audioel[0];
        }

        return filter($prefix,$languages,$text,$separator,$optionBalise,$model);
}

/*
 * Les functions ci dessus on la même utilité que les fonctions du même nom
 * (sans le prefix aff_ ci-dessus. Mais à la place de retourné le resultat elle
 *  l'affiche (identique à echo nom_de_la_fonction();)
 */

function aff_chooseCollec($nameButton='ok')     { echo chooseCollec($nameButton); }
function aff_hrefPage($page = 1)                { echo hrefPage($page); }
function aff_prevPage($nb=1,$sep=' ')           { echo prevPage($nb,$sep); }
function aff_currentPage()                      { echo currentPage() ;}
function aff_nextPage($nb=1,$sep=' ')           { echo nextPage($nb,$sep); }
function aff_prevItem($nb=1,$sep=' ')           { echo prevItem($nb,$sep); }
function aff_currentItem()                      { echo currentItem();}
function aff_nextItem($nb=1,$sep=' ')           { echo nextItem($nb,$sep); }
function aff_hrefItem($id /*or item*/)          { echo hrefItem($id); }
function aff_hrefModel($model,$sortANDfilter=False) { echo hrefModel ($model,$sortANDfilter); }
function aff_filter($prefix,$var,$text=False,$separator=", ",$optionBalise="",$model=False) { echo filter($prefix,$var,$text,$separator,$optionBalise,$model); }
function aff_hrefSortBy($sort)                  { echo hrefSortBy($sort); }
function aff_star($note,$max=10)                { echo star($note,$max); }
function aff_image($inputImg='',$X=False,$Y=False) { echo image($inputImg,$X,$Y);}
function aff_attrsize_image($img, $Xtb=False,$Ytb=False) {echo attrsize_image($img, $Xtb,$Ytb); }
function aff_search($champ, $type='', $optionBalise='', $default='') { echo search($champ, $type, $optionBalise, $default); }
function aff_cloud($champ, $pas=10)             { echo cloud ($champ, $pas); }
function aff_test($value)                       { echo test($value); }
function aff_noIE()                             { echo noIE(); }

?>

Edit: voilà la correction pour l'affichage des acteur dans le template par défaut:

if (test($item['actors']))
{
   if (is_array($item['actors'][0]))
   {
      echo '<li>
                  <span class="label">'.__('Acteurs').' :</span>
                  <span class="info-item"><table class="info">
                  <tr>';
                     foreach ($item['actors'] as $actor)
                    {
                       echo '
                          <td>'.filter('actors_without_roles==',$actor[0]).'</td>
                          <td>'.(isset($actor[1]) ? convert($actor[1]) : '').'</td>
                       </tr>';
                    }
                    echo '
                   </table></span>
       </li>';
    } 
   else 
   {
      echo '<li><span class="label">'.__('Acteurs').' :       </span><span class="info-item">'.filter('actors_without_roles==',$item['actors_without_roles']).'</span></li>';
   }
}

en lieu et place de:

if (test($item['actors']))
{
   if (is_array($item['actors'][0]))
   {
      echo '<li>
                  <span class="label">'.__('Acteurs').' :</span>
                  <table class="info">
                  <tr>';
                     foreach ($item['actors'] as $actor)
                    {
                       echo '
                          <td>'.filter('actors_without_roles==',$actor[0]).'</td>
                          <td>'.(isset($actor[1]) ? convert($actor[1]) : '').'</td>
                       </tr>';
                    }
                    echo '
                   </table>
       </li>';
    } 
   else 
   {
      echo '<li><span class="label">'.__('Acteurs').' :       </span><span class="info-item">'.filter('actors_without_roles==',$item['actors_without_roles']).'</span></li>';
   }
}
Patator
18-03-2010 20:40

J'ai essayé de voir si on pouvait simplement contourner le problème en prenant uniquement le premier sous élément du tableau des pistes son, mais dans ce cas il affiche bien partout où elles sont les pistes son. Seul problème: il sélectionne la première piste est affiche le nom de celle-ci suivit du format audio.

$item['audio'] => $item['audio'][0]

Il faut en fait prendre pour chaque élément de la première dimension du tableau le sous élément 0.

Le code suivant fonctionne, mais n'est pas pratique s'il doit fonctionner avec le générateur de thèmes:

<?php if (test($item['audio'])) {?> <li><span class="label"><?php echo __('Language') ?> :   </span><span class="info"><?php

$parser = 0;
$languages = array();
foreach($item['audio'] as $audioel)
{
        $languages[$parser++] = $audioel[0];
}

aff_filter('audio==',$languages)

?></span></li><?php } ?>

Au lieu de:

<?php if (test($item['audio'])) {?> <li><span class="label"><?php echo __('Language') ?> :   </span><span class="info"><?php aff_filter('audio==',$item['audio']) ?></span></li><?php } ?>
jonas
17-03-2010 23:48

Bonjour, toujours heureux de savoir que GCweb rend service smile

Comment modifier un thème déjà créé (Liste de Films du thème par défaut par exemple) sans le reprendre à zéro? (le générateur de thèmes me propose toujours un formulaire vierge...)

Dans GCweb 1.* impossible ... sauf en éditant le code à la main (pas besoin d'être un expert du php pour modifier ce code, des connaissances de base suiffisent). Mais c'est prévu pour GCweb 2.0 (aucune date de prévu pour l'instant, pas même pour le début du codage)

Pour les différents problème avec les pistes audio faut que je regarde plus en profondeur. Peux tu m'envoyer ton fichier de sauvegarde (je t'ai envoyé un mail) ? (Je me suis fait un rapport de bug : FS#84 mais si tu n'as pas de nouvelle d'ici la fin du weekend relance moi)

Patator
17-03-2010 20:55

Bonjour,

tout d'abord bravo pour le programme GCWeb qui est exactement ce dont on peut avoir besoin pour gérer une liste de films sans se soucier de la plateforme (Win, Linux) du lieu (par VPN par exemple) ou encore d'un accès en écriture pour n'importe qui (via GCStar par exemple)! wink

Utilisant surtout GCWeb pour la vidéo avec plusieurs langues/sous-titre je dois dire qu'il manque encore la possibilité d'afficher des informations supplémentaires avec les sous-titres et les pistes son.

Les Sous-Titres:

Comment modifier un thème déjà créé (Liste de Films du thème par défaut par exemple) sans le reprendre à zéro? (le générateur de thèmes me propose toujours un formulaire vierge...)

Les Pistes Audio:

Concernant l'ajout à une collection existante: même question que ci-dessus.

Pour une nouvelle collection, j'ai pu l'ajouter mais elle souffre de quelques défauts:

-> Lorsqu'il y a plusieurs pistes son il y a une erreur (SQL?):

Fehler : Das Feld enthält mehrere Zeilen UND mehrere Kolonnen. Dis Suche nach diesen Typ Element ist nicht möglich

En français, il se plaint du nombre de colonnes et lignes du tableau ou quelque chose dans le genre.

Exemple 1
Exemple 2

-> Quand il y a une seule piste son elle s'affiche, mais avec le type de piste son. Par exemple:

Français, MP3 [48 kHz]

avec [q]Français[/q] et [q]MP3 [48 kHz][/q] deux éléments.

-> La recherche en revanche fonctionne même sur les éléments qui possèdes plusieurs pistes son.

On pourrait  souhaiter rajouter une information sur la langue des pistes son et/ou une information sur le type de piste son, cependant le plus utile serait bien sûr la langue (le second étant plutôt un luxe...)


### Sinon un tout petit détail de mise en forme au niveau des noms des acteurs: Exemple

Pied de page des forums

Propulsé par FluxBB