merci beaucoup
Bonjour,
Superbe cette source qui oblige à se référer et lire autant que de besoin cette forme inédite de tuto.
Mais malgré tout ceci, je n'arrive pas à tout suivre.
*******************Je donne un "Titre" et annote "Contenu"=> Valider Ajouter
Pop Up :
Veuillez remplir le champ suivant :
-Contenu de l'article
J'ajoute du titre et du contenu => Valider Ajouter
On m'informe du résultat :
-L'article a été ajouté
-Mauvais identifiant de news
J’obtiens l’article mais pas la photo.
Dans la table la date est " "
Notice: Undefined variable: TABLE_NEWS in C:\Program Files\EasyPHP-5.3.9\www\GESTION-NEWS\admin\adm_mod_news\_inclus\news_traiter.php on line 82
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP-5.3.9\www\GESTION-NEWS\admin\adm_mod_news\_inclus\news_traiter.php on line 83
Fatal error: Class 'finfo' not found in C:\Program Files\EasyPHP-5.3.9\www\GESTION-NEWS\admin\adm_mod_news\_inclus\news_traiter_photo.php on line 41
news_traiter.php => line 82 et 83 :
news_traiter_photo.php on line 41
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $maxid_result = mysql_query("SELECT MAX(news_id) AS idmax FROM ".$TABLE_NEWS.";"); $maxid_row = mysql_fetch_row($maxid_result);
Je vous remercie de m'indiquer à quel endroit je ..........
Code : Sélectionner tout - Visualiser dans une fenêtre à part $finfo = new finfo(FILEINFO_MIME_TYPE, NULL); // Retourne le type mime
Cordialement.
Hello Dukee,
1/ 1ère erreur : semble être un Bug (?) lié à CKEditor :
-> Modification à faire dans le fichier (ligne 8) :
admin/adm_mod_news/js/news_validFormulaireCKeditor.js
Remplacer :
Par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part idnewsContenu = document.getElementById('idnewsContenu');
Voir : http://docs.cksource.com/CKEditor_3....de/Integration
Code : Sélectionner tout - Visualiser dans une fenêtre à part idnewsContenu = CKEDITOR.instances.idnewsContenu.getData();
(section : "Client-Side Data Handling")
PS : malgré cette modification, j'ai constaté que le problème subsiste :
-> alert(idnewsContenu.value); -> renvoie "undefined" !
Mystère et boule de gomme... Je n'ai pas encore trouvé la solution...
Cela dit, c'est un erreur au niveau de la vérification javascript.
On peut très bien zappé cette étape, puisqu'il y a une vérification PHP après.
En remplaçant dans news_formulerCKeditor.php :
Par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" onsubmit="newsValidFormulaire(); return false;">
Code : Sélectionner tout - Visualiser dans une fenêtre à part <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>">
2/ La 2ème erreur est plus... bête de ma part ($TABLE_NEWS au lieu de $NEWS_TABLE !) :
-> Modification à faire dans le fichier (ligne 82) :
admin/adm_mod_news/_inclus/news_traiter.php
Remplacer :
Par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $maxid_result = mysql_query("SELECT MAX(news_id) AS idmax FROM ".$TABLE_NEWS.";");
[EDIT] J'ai aussi corrigé d'autres petits bugs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $maxid_result = mysql_query("SELECT MAX(news_id) AS idmax FROM ".$NEWS_TABLE.";");
Je t'invite donc à re-télécharger l'archive (corrigée).
Dernière modification par Invité ; 18/08/2012 à 00h34.
juste un truc, je ne suis pas fan de la "Structure de la table `NEWS_ADM_CONNEXION`" , pour une petite et simple colonne qui n’existe pas;
lors de la création d'un compte, tu devrais générer un IdUnique, a la ligne du compte avec un truc style time().'_'.suffle(time()) ; cet idUnique suivra tout au long de sa vie l'utilisateur, qui sera toujours associé à son profil, et jamais au jamais tu n'aura plus à transmettre des données privées le concernant sans vérification,(tu pourra créer des tokens, etc...)
un autre petit truc qu'il faudrait surement expliquer au grand public
un peu tiré par les cheveux , ou pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part require(dirname(dirname(dirname(__FILE__))) . '/config/main_config.php');
une autre facon de voir le truc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 define ('HOST_DIR' , dirname(__FILE__).'/' ); define('CLASS_DIR',HOST_DIR.'library/'); function __autoload($class_name) { try{ require_once CLASS_DIR.$class_name.'/'.$class_name.'.php'; } catch (Exception $e) { TACLASS_Exception::message('Message erreur : '.$e); } }
Bonjour,
Ça va dans le bon sens. Beaucoup moins de tracas.
Exception:
Un pop up m'informe =>
Page sur localhost says :Le champ étant rempli, je passe outre => C'est OK.
Veuillez remplir le champ suivant :
- Contenu de l'article
Ceci dans la mesure ou je ne manifeste aucune prétention de vouloir inclure une image.
La sanction :
Fatal error: Class 'finfo' not found in C:\wamp\www\GESTION-NEWS\admin\adm_mod_news\_inclus\news_traiter_photo.php on line*41
Function ==> {main}( ) Location ==> ..\index_news_liste.php:0
Function ==> include(*'C:\wamp\www\GESTION-NEWS\modules\mod_news\news_liste_colonne.php'*) Location =>..\index_news_liste.php:4
Function ==> news_affiche_liste_colonne( ) Location =>.. ..\news_liste_colonne.php:41
******************************
En attente de solution, situation inhabituelle, je ne sais quels mots employer.
Résultat : Faisons simple => Merci.
Cordialement.
Vérifie ta version de PHP.Fatal error: Class 'finfo' not found
Il faut 5.3+ -> Voir : Fileinfo
PS : si dans tes messages tu ne précises ni la version de la news utilisée (ici, la V4), ni ta configuration (ta version PHP ? ... utilisation sur serveur ou en local ? ...), je ne peux pas vraiment d'orienter vers la solution ad doc.
Bonjour,
Je suis en local et PHP Version 5.4.3
Cordialement.
Quand je mets le lien vers fileinfo, aies au moins la curiosité de le suivre, et de le lire.
La solution s'y trouve :
Ouvrie le fichier php.ini (wamp...), et remplacer :Les utilisateurs Windows doivent inclure la bibliothèque DLL fournie php_fileinfo.dll dans leur php.ini pour activer cette extension.
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part ;extension=php_fileinfo.dll
Code : Sélectionner tout - Visualiser dans une fenêtre à part extension=php_fileinfo.dll
Bonsoir Jérôme .
Alors encore une fois ton système est tout simplement génial ^^, je m'éclate comme un petit fou avec.
Par contre j'ai des petites questions si tu à un peu de temps :
Donc j'aimerais faire deux choses principalement.
1) Afficher uniquement 2 news sans photo, uniquement un Titre ainsi que un résumé différent de la new mais qui pointerais sur la news en question ex :
Titre 1 : onClick => New id#X
Titre 2 : onClick => New id#X
Résumé 1 : Contiens une date (mois/jour), un lieu (rue/n°/CP) et le nom (qui serait celui de la news)
Dois-je crée un autre "systeme" ou puis-je simplement un peu bidouiller pour récup ses infos ?
Je pensais modifier la date du postage en la date que j'ai besoin et donc ne pas utiliser un timestamp mais plus un varchar ?
Des pistes sur ce topic en page 3 et 4 il me semble ?
En page 5 de ce topic il est question de plus ou moins la même chose mais avec 15 et dans un fichier qui n'est plus d'actualité ?
2) Afficher un liste de "news" uniquement via une petite photo (qui au clique de la petite image amènerait vers une "fiche/new") et ceci sur deux lignes avec plusieurs pages qui seront donc navigable sur la même via deux flèches (next/prev)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?php // ------------------------- // Affichage des TITRES des News (avec lien vers la news) : // ------------------------- $num_debut = 0; $num_fin = 2; // on ne va afficher que les 2 dernières // REQUETE $news_query = "SELECT news_id, news_titre FROM ".$TABLE_NEWS." ". " WHERE news_publier = 1 ". // uniquement les news publiées " ORDER BY news_date DESC LIMIT ".$num_debut.",".$num_fin.";"; $news_result = mysql_query($news_query); while ($news_row = mysql_fetch_array($news_result)) { // ------------- $newsID = $news_row['news_id']; $newsTitre = htmlentities($news_row['news_titre'], ENT_QUOTES); // ------------- // Affichage : ?> <p><a href="news_fiche.php?id=<?php echo $newsID; ?>"><?php echo $newsTitre; ?></a></p> <?php } // fin while ?>
Le soucis c'est que quand je modifie ton code j'arrive à avoir la petite cliquable et la grande image dans la liste...
Bref pas le résultat que j'ai attendu ^^ !
Il est assez tard et j'ai pas trouvé ou ce trouvais ces params.
Au besoin j epeux te montré par mp le projet il est presque finis il reste juste deux trois réglages :p.
En gros j'utilise ton système via des includes dans des div sur mes pages x).
Bonjour,
1/ les fonctions d'affichage de la News sur le site se trouvent dans : modules/mod_news/news_fonctions.php
Il suffit de les modifier (ou de créer de nouvelles fonctions) pour qu'elles répondent à tes besoins.
2/ Pour ce qui est de l'ajout de nouveaux champs, il faut :
- ajouter les champs dans la base de données,
- et modifier les fichiers dans l'admin.
PS : la date (timestamp) est déjà enregistrée au format VARCHAR dans la BdD.
De quoi t'amuser encore quelques temps...
Génial merci pour les précisions, je vais voir ça .
Ah oui question sur ton site "élevage d'été" tu à utilisé quelle LightBox ?
Re alors j'ai plus ou moins réussi à faire ce que je voulais en rajoutant des fonctions cependant j'ai un soucis.
J'aimerais que mon image uploader dans l'éditeur (pas le picto que j'ai désactiver) ne soit pas afficher mais le résumé du texte lui oui.
Car voici donc mon "chemin" :
Page accueil news résumé (Titre + 2 lignes) au clique --->
Page de la News (Titre + images aligné à gauche + résumé complet.
Hors si je met mon image dans ma news elle apparait sur ma page d'accueil x).
Mais je vois pas comment géré ça étant donné que l'image est uploader dans le contenue et pas en "picto".
(Donc pas de bout de code directement dans les fonctions de base il me semble ?
Bonjour,
NON, là, tu fais erreur. La photo est uploadée A PART !! (et le picto est créé à la volée).Mais je vois pas comment géré ça étant donné que l'image est uploader dans le contenue et pas en "picto".
C'est uniquement A L'AFFICHAGE que la photo est "intégrée" à la News.
Dans modules/mod_news/news_fonctions.php, tu peux modifier/ajouter des fonctions à ta convenance pour l'AFFICHAGE EN LISTE + AFFICHAGE de la FICHE.
Tu y affiches ce que tu veux, avec la mise en page que tu veux.
=> liste des News : function news_affiche_liste_colonne($numPage)
qui appelle : function news_affiche_fiche_resume_colonne($newsId)
Si tu ne veux pas afficher de picto, c'est simple, tu enlèves :
Je ne penses pas que les fonctions soient difficiles à comprendre, et à modifier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php if ($newsPhoto != '') { ?> <!-- photo --> <a href="./index_news_fiche.php?newsId=<?php echo $newsId; ?>"> <img class="newsListePhoto" src="<?php echo REP_NEWS_PHOTO.$newsPhoto; ?>" style="width:<?php echo $newsLargeurPicto; ?>px;" alt="" title="<?php echo $newsTitre; ?>" /> </a> <?php } ?>
Alors je crois que j'ai du mal m'exprimer donc ce n'est pas le picto que je veux enlevé ça c'est fait.
Mais je ne veux pas que l'on puisse voir l'image de ma "News" (fiche) sur la page de "résumé", je parle d'une image mise via l'éditeur wysiwyg (via le petit icone image dans la zone de contenu) et non pas du picto qui lui est à charger en haut à droite.
L'image est bien "non afficher" si mon texte de résumé est de +de 150 caractères uniquement si celle si est après le texte !
Hors moi j'aimerais que cette dite image ne soit pas affiché dans mon "résumé" mais bien dans ma fiche (à gauche et avant mon texte donc mais si l'image est avant le texte ça me l'affiche).
Le code PHP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?php if ($newsTitre != '') { ?> <a href="./index_news_fiche.php?newsId=<?php echo $newsId; ?>"> <h4 class="newsListeTitre"><?php echo $newsTitre; ?></h4> </a> <?php } ?> <span class="newsListeDate"> le <?php echo date('d/m/Y à H\hi', $newsDate); ?></span> </div> <div class="newsListeContenu"> <!-- Résumé du Contenu --> <?php if($newsResumeType=='brut'){ echo texte_resume_brut($newsContenu, $newsResumeNbreCar); } elseif($newsResumeType=='html'){ echo texte_resume_html($newsContenu, $newsResumeNbreCar); } else { echo $newsContenu; } ?> </div>
Le code qui apparait dans ma page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <div class="newsListeContenu"> <!-- Résumé du Contenu --> <p> Mon text</p> <p> Suite</p> <p> Encore</p> <p> Etc...</p> <p> <img alt="" src="/upload/images/nom.jpg" style="width: 280px; height: 405px;" />... </p> </div> <div class="newsListe newsListeColonne1"> <div class="newsListeEntete"> <a href="./index_news_fiche.php?newsId=7"> <h4 class="newsListeTitre">MON TITRE</h4> </a> <span class="newsListeDate"> le 04/09/2012 à 00h03</span> </div>
J'ai retiré le vrai "texte" par mesure de "confidentialité" mais l'autre fais bien +150 caractère.
Comme tu peux voir une image à été ajouter via le wysiwyg, hors je me demande si c'est possible de ne pas l'afficher sur cette page.
En effet, je n'avais pas compris ça.
Dans ce cas, le code html de l'image est bien inclus dans le code du "contenu".
Pour ne pas afficher ces images, il te faut, à l'affichage, une regex qui effacera dans le champ "contenu" les balises <img .../>, avant d'appliquer le résumé.
Du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php $contenu = preg_replace('#<img(.*)/>#i', '', $contenu); ?>
Bonjour Monsieur,
Je tiens à vous remercier pour ce merveilleux script php. Cependant, je souhaiterai faire une modification.Celle de programmer la dernière news de sorte que que l'image soit plus grosse que les autres sur l'interface de news à l'instar du site suivant : http://atoo.ci
Je vous prie de m'aider à le faire.
Bien à vous!!!
Ca se passe encore dans : modules/mod_news/news_fonctions.php
Il suffit d'ajouter un compteur, et, pour la première News, un affichage différent des autres.
Par ex. :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <div id="containerListing"> <?php // ------------------------- $compteur_news = 0; // initialisation du compteur // Affichage des News if($news_nombre>0) { foreach ($news_rowAll as $news_row) { $compteur_news++; // on incrémente le compteur // ------------------------- $newsId = intval($news_row['news_id']); // On recupere les infos dans la BD require(dirname(dirname(dirname(__FILE__))) . '/'.PATH_NEWS_MOD.'news_data_fromBD.php'); // ------------------------- // Affichage de la news if($compteur_news==1){ // PREMIERE NEWS news_affiche_premiere_news($newsId); // FONCTION A CREER !! } else { // SUIVANTES news_affiche_fiche_resume_colonne($newsId); } } } ?> </div>
Bonsoir Jérome !
Alors comme je n'ai pas trop réussi à faire ce que je voulais exactement, et ayant un peu de mal à me retrouvé dans tout ton code .
J'ai décidé de faire un mix, suis repartie sur du php "simple" dans mes pages d'affichages de mes news en gardant ta bd ce que tu avais fais malgré tout.
Suis juste partie sur un while et un select à la colonne de la table car je m'en sortais pas x).
Serais tu me dire si l'image uploader via l'input est redimensionné automatiquement et si oui ou ces param ce trouve car je perd ma taille d'origine il me semble (quand je clique sur l'image afficher, elle à la taille choisi)
Car quand je veux changer la taille dans la balise img ça m'affiche même plus mon image.
L'image uploadée est traitée dans : admin/adm_mod_news/_inclus/news_traiter_photo.php
Elle est automatiquement redimensionnée, en fonction de la largeur demandée (ligne 104) :
La fonction fctredimimage() se trouve dans : fonctions/fct_traitement_image.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // -------------------- // REDIMENSIONNEMENT et SAUVEGARDE de la PHOTO (si necessaire) // ecraser (remplacer) la photo (meme rep, meme nom) $redimPHOTOOK = fctredimimage($newsPhotoLargeur,0,'','','../../'.REP_NEWS_PHOTO,$file_Upload); // --------------------
// La FONCTION : fctredimimage ($W_max, $H_max, $rep_Dst, $img_Dst, $rep_Src, $img_Src)
// Les paramètres :
// - $W_max : LARGEUR maxi finale --> ou 0
// - $H_max : HAUTEUR maxi finale --> ou 0
// - $rep_Dst : repertoire de l'image de Destination (déprotégé) --> ou '' (même répertoire)
// - $img_Dst : NOM de l'image de Destination --> ou '' (même nom que l'image Source)
// - $rep_Src : repertoire de l'image Source (déprotégé)
// - $img_Src : NOM de l'image Source
Partager