Recommandations pour la structure des pages

Les pages Elgg ont une pageshell globale et une zone de contenu principale. Dans Elgg 1.0+, nous avons marqué un espace "la toile" pour les éléments à écrire sur la page. Cela signifie que l’utilisateur a toujours une expérience très cohérente, tout en donnant une flexibilité maximale aux auteurs de plugins pour la mise en place de leurs fonctionnalités.

Imaginez la zone de canvas comme un grand rectangle dans lequel vous pouvez faire ce que vous voulez. Nous avons créé quelques canvas standards pour vous :

  • one column

  • two column

  • contenu

  • widgets

sont les principaux. Vous pouvez les utiliser avec la fonction :

$canvas_area = elgg_view_layout($canvas_name, array(
  'content' => $content,
  'section' => $section
));

Les sections de contenu sont passées sous forme de tableau dans le deuxième paramètre. Les clefs de tableau correspondent à des sections de la disposition, le choix de la disposition déterminera les sections à passer. Les valeurs de tableau contiennent le html qui doit être affiché dans ces zones. Exemples de deux dispositions communes :

$canvas_area = elgg_view_layout('one_column', array(
  'content' => $content
));
$canvas_area = elgg_view_layout('one_sidebar', array(
  'content' => $content,
  'sidebar' => $sidebar
));

Vous pouvez ensuite, finalement, passer ceci dans la fonction elgg_view_page :

echo elgg_view_page($title, $canvas_area);

Vous avez peut-être également remarqué que nous avons commencé à inclure une zone de titre standard en haut de chaque page plugin (ou du moins, la plupart des pages plugin). Ceci est créé à l’aide de la fonction wrapper suivante, et doit généralement être inclus en haut du contenu du plugin :

$start_of_plugin_content = elgg_view_title($title_text);

Cela affiche également tous les éléments de sous-menu existants (sauf si vous définissez le deuxième paramètre facultatif sur false). Alors, comment ajouter des éléments de sous-menu ?

Dans la fonction init de votre plugin, incluez l’appel suivant :

if (elgg_get_context() == "your_plugin") {
   // add a site navigation item
   $item = new ElggMenuItem('identifier', elgg_echo('your_plugin:link'), $url);
   elgg_register_menu_item('page', $item);
}

Le sous-menu s’affiche automatiquement lorsque votre page est affiché. L’ “identifier” est un nom machine pour le lien, il devrait être unique par menu.