Voila j'ai rajouté des champs supplementaires dans la table categorie : Comment faire pour afficher ces champs dans Adminitration/categorie/modifier , afin de modifier ces champs sans etre oblige de passer par SQL( la ou on modifie le nom de la categorie, modifie le type d'acces etc..)??
je sais c'est pas tres bien de modifier une table mais cela me permet de l'interconnecter avec mon blog ....
www.evrick.fr
Hors ligne
Salut, pour commencer un petit sujet sur la modification du shéma d'origine de PhpWebGallery : http://forum.phpwebgallery.net/viewtopic.php?id=9260 . Ensuite pour ta question, il faut modifier les fichiers php pour rajouter tes champs au requête sql et ensuite les fichiers tpl pour les afficher. Pour te dire lesquels c'est plus délicat. Va dans le répertoire include/ et édite le fichier category_default.php, repère là où sont récupéré les données des catégories. Reste plus qu'a trouver comment ça passe au moteur de template. Une fois que tu arrive à afficher les infos il te faut trouver comment mettre à jour les données dans la base... Une piste, c'est dans le même fichier que ça ce passe.
Dernière modification par flipflip (2006-11-28 11:24:37)
Hors ligne
T'en dire plus... A part te dire exactement quoi modifié je ne vois pas trop quoi ajouter ?
Ou alors dit moi ce que tu veux savoir. Si je ne te donne pas la réponse directement c'est volontaire. C'est pour que tu réfléchisse à ce que tu va faire et que tu le comprenne pour que par la suite tu puisse le faire pour d'autre chose.
Hors ligne
J'suis d'accord avec toi: j'ai deja fait pas mal de modification mais la j'suis coince
J'ai vue que c'est admin.php et admin.tpl et cat_modify.tpl qui sont pris en compte mais rajouter une variable de la base je suis face au mur
Merci de m'avancer l'echelle
Hors ligne
Attention ce que je te donne n'a pas été testé donc à prendre avec des pincettes :
dans admin/cat_modify.php, ligne
//--------------------------------------------------------- form criteria check if (isset($_POST['submit'])) { $data = array( 'id' => $_GET['cat_id'], 'name' => @$_POST['name'], 'commentable' => $_POST['commentable'], 'uploadable' => isset($_POST['uploadable']) ? $_POST['uploadable'] : 'false', 'comment' => $conf['allow_html_descriptions'] ? @$_POST['comment'] : strip_tags(@$_POST['comment']) );
Modifie le de cette facon :
//--------------------------------------------------------- form criteria check if (isset($_POST['submit'])) { $data = array( 'id' => $_GET['cat_id'], 'name' => @$_POST['name'], 'commentable' => $_POST['commentable'], 'uploadable' => isset($_POST['uploadable']) ? $_POST['uploadable'] : 'false', 'comment' => $conf['allow_html_descriptions'] ? @$_POST['comment'] : strip_tags(@$_POST['comment']), 'tonchamp1' => $_POST['tonchamp1'], 'tonchamp2' => $_POST['tonchamp2'] );
Le nom de tes champs doit correspondre au nom du champ dans ta table. Cette partie gère l'insertion de donnée dans la table.
Dernière modification par flipflip (2006-11-28 16:11:55)
Hors ligne
Pour afficher les données via le moteur de template. Dans le fichier admin/cat_modify.php
$template->assign_vars( array( 'CATEGORIES_NAV' => $navigation, 'CAT_NAME' => $category['name'], 'CAT_COMMENT' => $category['comment'], $status => 'checked="checked"', $lock => 'checked="checked"', $commentable => 'checked="checked"', $uploadable => 'checked="checked"', 'L_EDIT_NAME' => $lang['name'], 'L_STORAGE' => $lang['storage'], 'L_REMOTE_SITE' => $lang['remote_site'], 'L_EDIT_COMMENT' => $lang['description'], 'L_EDIT_STATUS' => $lang['conf_access'], 'L_STATUS_PUBLIC' => $lang['public'], 'L_STATUS_PRIVATE' => $lang['private'], 'L_EDIT_LOCK' => $lang['lock'], 'L_EDIT_UPLOADABLE' => $lang['editcat_uploadable'], 'L_EDIT_COMMENTABLE' => $lang['comments'], 'L_YES' => $lang['yes'], 'L_NO' => $lang['no'], 'L_SUBMIT' => $lang['submit'], 'L_SET_RANDOM_REPRESENTANT'=>$lang['cat_representant'], 'L_ 'U_JUMPTO' => make_index_url( array( 'category' => $category['id'], 'cat_name' => $category['name'], ) ), 'U_CHILDREN' => $cat_list_url.'&parent_id='.$category['id'], 'U_HELP' => PHPWG_ROOT_PATH.'popuphelp.php?page=cat_modify', 'F_ACTION' => $form_action, ) );
Modifie ce bloque
$template->assign_vars( array( 'CATEGORIES_NAV' => $navigation, 'CAT_NAME' => $category['name'], 'CAT_COMMENT' => $category['comment'], 'CAT_TONCHAMP1' => $category['tonchamp1'], 'CAT_TONCHAMP2' => $category['tonchamp2'], $status => 'checked="checked"', $lock => 'checked="checked"', $commentable => 'checked="checked"', $uploadable => 'checked="checked"', 'L_EDIT_NAME' => $lang['name'], 'L_STORAGE' => $lang['storage'], 'L_REMOTE_SITE' => $lang['remote_site'], 'L_EDIT_COMMENT' => $lang['description'], 'L_EDIT_STATUS' => $lang['conf_access'], 'L_STATUS_PUBLIC' => $lang['public'], 'L_STATUS_PRIVATE' => $lang['private'], 'L_EDIT_LOCK' => $lang['lock'], 'L_EDIT_UPLOADABLE' => $lang['editcat_uploadable'], 'L_EDIT_COMMENTABLE' => $lang['comments'], 'L_YES' => $lang['yes'], 'L_NO' => $lang['no'], 'L_SUBMIT' => $lang['submit'], 'L_SET_RANDOM_REPRESENTANT'=>$lang['cat_representant'], 'L_TONCHAMP1' => 'Valeur texte pour ton champs 1', 'L_TONCHMAP2' => 'Valeur texte pour ton champs 2', 'L_ 'U_JUMPTO' => make_index_url( array( 'category' => $category['id'], 'cat_name' => $category['name'], ) ), 'U_CHILDREN' => $cat_list_url.'&parent_id='.$category['id'], 'U_HELP' => PHPWG_ROOT_PATH.'popuphelp.php?page=cat_modify', 'F_ACTION' => $form_action, ) );
Ensuite dans le fichier template/tontemplate/admin/cat_modify.tpl, modifie le bloque
<fieldset> <legend>{lang:Informations}</legend> <table> <!-- BEGIN server --> <tr> <td><strong>{L_REMOTE_SITE}</strong></td> <td>{server.SITE_URL}</td> </tr> <!-- END server --> <!-- BEGIN storage --> <tr> <td><strong>{L_STORAGE}</strong></td> <td class="row1">{storage.CATEGORY_DIR}</td> </tr> <!-- END storage --> <tr> <td><strong>{L_EDIT_NAME}</strong></td> <td> <input type="text" name="name" value="{CAT_NAME}" maxlength="60"/> </td> </tr> <tr> <td><strong>{L_EDIT_COMMENT}</strong></td> <td> <textarea cols="50" rows="5" name="comment" class="description">{CAT_COMMENT}</textarea> </td> </tr> </table> </fieldset>
Par
<fieldset> <legend>{lang:Informations}</legend> <table> <!-- BEGIN server --> <tr> <td><strong>{L_REMOTE_SITE}</strong></td> <td>{server.SITE_URL}</td> </tr> <!-- END server --> <!-- BEGIN storage --> <tr> <td><strong>{L_STORAGE}</strong></td> <td class="row1">{storage.CATEGORY_DIR}</td> </tr> <!-- END storage --> <tr> <td><strong>{L_EDIT_NAME}</strong></td> <td> <input type="text" name="name" value="{CAT_NAME}" maxlength="60"/> </td> </tr> <tr> <td><strong>{L_EDIT_COMMENT}</strong></td> <td> <textarea cols="50" rows="5" name="comment" class="description">{CAT_COMMENT}</textarea> </td> </tr> <tr> <td><strong>{L_TONCHAMP1}</strong></td> <td> <textarea cols="50" rows="5" name="comment" class="description">{CAT_TONCHAMP1}</textarea> </td> </tr> <tr> <td><strong>{L_TONCHAMP2}</strong></td> <td> <textarea cols="50" rows="5" name="comment" class="description">{CAT_TONCHAMP2}</textarea> </td> </tr> </table> </fieldset>
Ne connaissant pas le contenue de tes nouveaux champs je te laisse adapter les type d'input pour le formulaire plus éventuellement rajouter les contrôle nécessaire avant import dans la table.
Dernière modification par flipflip (2006-11-28 16:12:32)
Hors ligne
Tu pourrais même pousser le truc plus loin en envisageant la création d'un mod. Tu peux t'inspirer de ce qui a été dit ici http://forum.phpwebgallery.net/viewtopic.php?id=6262 .
Dernière modification par flipflip (2006-11-29 09:10:53)
Hors ligne