Dernière mise à jour : 26/01/2021 à 22h33
Table des matières
Base de donnée
Objectif: Ajouter une colonne dans la table des catégories du forum.
Dans l'Administration/Outils/Base de données/Requêtes SQL
Taper
Code SQL :
ALTER TABLE `phpboost_forum_cats` ADD `thumbnail` VARCHAR( 255 ) AFTER `url` ;
puis Exécuter
Fonctions php
Objectif: traitement php des vignettes.
Dans le fichier /forum/services/ForumCategory.class.php
après
Code PHP :
ajouter private $url;
Code PHP :
private $thumbnail;
après
Code PHP :
public function get_url() { return $this->url; }
ajouter
Code PHP :
public function set_thumbnail($thumbnail) { $this->thumbnail = $thumbnail; } public function get_thumbnail() { return $this->thumbnail; }
après
Code PHP :
ajouter 'url' => $this->get_url(),
Code PHP :
!!Attention à bien mettre la "," entre les deux'thumbnail' => $this->get_thumbnail()
après
Code PHP :
ajouter $this->set_url($properties['url']);
Code PHP :
$this->set_thumbnail($properties['thumbnail']);
Au cas où le module venait à être désinstallé/réinstallé, cet ajout permettra de ne pas avoir à recommencer la déclaration SQL :
après
Code PHP :
ajouter 'rewrited_name' => array('type' => 'string', 'length' => 250, 'default' => "''"),
Code PHP :
'thumbnail' => array('type' => 'string', 'length' => 255, 'default' => "''"),
Formulaire
Objectif: ajouter la déclaration de la vignette dans le formulaire d'ajout/édition des catégories
Fichiers de langue
forum/lang/french/common.php :
$lang['forum.label.thumbnail'] = 'Vignette';
forum/lang/english/common.php :
$lang['forum.label.thumbnail'] = 'Thumbnail';
Fichier du formulaire
Dans le fichier /forum/controllers/categories/ForumCategoryFormController.class.php
après
Code PHP :
$fieldset->add_field(new FormFieldTextEditor('rewrited_name', self::$common_lang['form.rewrited_name'], $this->get_category()->get_rewrited_name(), array( 'description' => self::$common_lang['form.rewrited_name.description'], 'hidden' => !$this->get_category()->rewrited_name_is_personalized() ), array(new FormFieldConstraintRegex('`^[a-z0-9\-]+$`iu'))));
ajouter
Code PHP :
$fieldset->add_field(new FormFieldUploadPictureFile('thumbnail', LangLoader::get_message('forum.label.thumbnail', 'common', 'forum'), $this->get_category()->get_thumbnail()));
Variables de template
Objectif: récupérer les données des vignettes et les afficher
/forum/controllers/ForumHomeController.class.php
après
Code PHP :
insérer $result = PersistenceContext::get_querier()->select('SELECT c.id AS cid, c.id_parent, c.name, c.rewrited_name,
Code PHP :
c.thumbnail,
après
Code PHP :
ajouter $this->view->assign_block_vars('forums_list.cats', array(
Code PHP :
'C_HAS_THUMBNAIL' => !empty($row['thumbnail']), 'U_THUMBNAIL' => Url::to_rel($row['thumbnail']),
idem après
Code PHP :
ajouter $this->view->assign_block_vars('forums_list.subcats', array_merge( Date::get_array_tpl_vars($last_msg_date, 'LAST_MSG_DATE'), array(
Code PHP :
'C_HAS_THUMBNAIL' => !empty($row['thumbnail']), 'U_THUMBNAIL' => Url::to_rel($row['thumbnail']),
/forum/templates/forum_index.tpl
après ajouter
après ajouter
Code HTML :
après
Code HTML :
ajouter Code HTML :
/forum/forum.php
après
Code PHP :
insérer $result = PersistenceContext::get_querier()->select('SELECT c.id AS cid, c.id_parent, c.name, c.rewrited_name,
Code PHP :
c.thumbnail,
après
Code PHP :
ajouter $tpl->assign_block_vars('subcats', array_merge( Date::get_array_tpl_vars($last_msg_date, 'LAST_MSG_DATE'), array(
Code PHP :
'C_HAS_THUMBNAIL' => !empty($row['thumbnail']), 'U_THUMBNAIL' => Url::to_rel($row['thumbnail']),
/forum/templates/forum_index.tpl
Remplacer
Code HTML :
par Code HTML :
/forum/templates/forum_forum.tpl
après ajouter
après
Code HTML :
ajouter Code HTML :
après
Code HTML :
ajouter Code HTML :
/forum/templates/forum.css
Ajouter
Code CSS :
.forum-cat-thumbnail { max-width: 25px; max-height: 25px; }