Aller au contenu
Support de Zwii
sylvainlelievre

Créer un module standard de recherche

Messages recommandés

Il y a 12 heures, roger a dit :

la logique voudrait que ce bouton soit placé à la droite du sélecteur " Mot entier seulement" car l'on clique toujours sur un bouton de soumission une fois toutes nos préférences enregistrées.

 

Bonjour @roger,

Merci pour ces conseils éclairés, ce que tu as dit là est très pertinent.

 

Bonne journée

 

Sylvain

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir @sylvainlelievre

Je suis sur ton code, tout fonctionne comme il faut, c'est déjà ça 🙂

 

Quelques petites remarques :

  • dans if les else vides ne sont pas nécessaires, tu peux les supprimer
  • pour les boucles foreach le mieux est d'utiliser la même écriture que pour les if avec des {} plutôt que des : et endforeach. Personnellement, j'utilise cette écriture plutôt quand le php est dans du html, les délimitations sont plus lisibles.
  • j'ai modifié les aides qui étaient "paraphrasantes" et changé la présentation pour que le submit soit aligné.
  • Au niveau des notifications, j'ai supprimé les <p> qui font des blocs, afin de rester homogène.

Sur le fond :

  • Lorsque tu lis un booléen, avec getInput, tu peux ajouter un paramètre qui te renverra directement un vrai ou un false :
$motentier=$this->getInput('searchMotentier', helper::FILTER_BOOLEAN);

De cette manière tu peux passer directement ta variable, plutôt que de la convertir en oui ou non (search.php 38 et 39), j'ai fait la modif.

 

Concernant la page de résultats, c'est mieux je pense de la placer en haut avec un rappel du champ de recherche. 

 

 

image.thumb.png.bbef1ae427635f30f159a72bc6af899d.png

 

 

Voici le module modifié. Tu pourras aussi ajouter ton nom et ton mail en-dessous de celui de Rémi dans l'entête.

 

J'ajoute une option dans le footer pour que le module soit facilement accessible.

 

Beau travail de groupe !

 

search.zip

  • J'aime 1
  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 12 heures, Fred a dit :

Voici le module modifié. Tu pourras aussi ajouter ton nom et ton mail en-dessous de celui de Rémi dans l'entête.

 

J'ajoute une option dans le footer pour que le module soit facilement accessible.

 

Beau travail de groupe !

 

search.zip 4 Ko · 1 download

 

Bonjour @Fred,

 

Comme tu le dis c'est un beau travail de groupe, donc pour mon nom... c'est non !

 

Je vais tester cette dev.

 

A plus

 

Sylvain

  • J'aime 1
  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 01/07/2019 à 07:33, sylvainlelievre a dit :

Bonjour @Fred,

 

Voici mon nouveau module search. Après installation en local de Laragon (j'espère qu'il est pertinent) il restait encore une maladresse de déclaration et une absence d'initialisation de variable.

 

ça doit être bon pour des tests dans une dev ?

 

Bonne journée

 

Sylvain

 

module_search_v2.3.zipUnavailable

 

Bonjour @sylvainlelievre

 

Tu es quand même à l’origine du projet, tu n’as pas à rougir de te valoriser. 

 

Ce n’est pas gênant, j’indiquerai que que l’auteur est collectif. 

 

Je suis en contact avec @PeterRabbit qui a déserté le forum, il m’a fait des propositions de libelles qui ont du sens d’autant que c’est un ancien prof de Français. 

 

Je la retoucherai dans la matinée. 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

J'ai un souci apparemment lié au module search:

Citation

Warning: is_file(): open_basedir restriction in effect. File(module/search.php/search.php.php) is not within the allowed path(s): (/var/www/sdb/a/7/chateaufort78) in /var/www/sdb/a/7/chateaufort78/Zwii/core/module/page/page.php on line 316

Warning: Cannot modify header information - headers already sent by (output started at /var/www/sdb/a/7/chateaufort78/Zwii/core/module/page/page.php:316) in /var/www/sdb/a/7/chateaufort78/Zwii/core/core.php on line 1308

 

A priori ce sont les denières versions installéées, 9.2.0.0 et search 2.3 du 1er juillet

Site chez free

Zwii pas à la root du site mais dans /Zwii

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, sylvainlelievre a dit :

@Fred,

 

Quelques tests de la dernière version avec module search

Mise en forme du formulaire : OK

Recherche dans le footer : OK mais la zone copyright commence à être chargée, voir si la zone "liens sociaux" le serait moins ?

Configuration du footer : OK

Rémanence du mot clef dans le formulaire : ah oui !! super

 

Fonctionnement : OK (je viens de m'apercevoir qu'avec le module search les pages en "ne pas afficher" ne sortent pas alors qu'avec le script si)

 

Un grand merci d'un ancien prof d'électronique

 

Sylvain

Hello !

 

Une journée non coutumière, j'ai du temps ce midi.

Donc Peter m'a adressé quelques recommandations au niveau des libellés.

 

Autre petite correction :

 template::checkbox admet false ou true dans une propriété checked plutôt que value.

Dans index.php on est donc à 'checked' => false

 

Dans result.php il serait bien de récupérer le résultat du check précédent :

'checked' => $_POST['searchMotentier']

 

Mais si jamais un barbare appelle la page result.php directement, il y devrait y avoir des erreurs.

Il faudrait donc un opérateur ternaire pour contrôler l'existence des données transmises dans le post :

'checked' => isset($_POST['searchMotentier']) === true ? $_POST['searchMotentier'] : ' '

(deux simple quotes à la fin).

 

 

Les pages non affichées sont filtrées par $this->getHierarchy(null,true,null)

La liste des arguments est la suivante :

    /**
     * Accède à la liste des pages parents et de leurs enfants
     * @param int $parentId Id de la page parent
     * @param bool $onlyVisible Affiche seulement les pages visibles
     * @param bool $onlyBlock Affiche seulement les pages de type barre
     * @return array
     */
    public function getHierarchy($parentId = null, $onlyVisible = true, $onlyBlock = false)

 

Comme tu peux le voir le dernier argument aurait ou être optionnel comme la valeur par défaut est false. Mais bon, pas grave.

 

A propos de la surcharge, tu as raison, l'adresse étant visible il est aussi possible de l'appeler directement à partir d'un lien quelconque par exemple en barre latérale.

D'ailleurs, pourquoi ne pas ajouter ce pages semi-statiques dans la liste des pages de la barre de lien ??? Bonne idée, il me semble.

 

Le fichier avec les corrections 😉

 

search.zip

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 3 heures, sylvainlelievre a dit :

Bizarre ce "... module/search.php/search.php.php ...

Bizarre ? Je dirais hautement improbable, car qu'est-ce qui a bien pu renommer de la sorte à la fois le dossier et le fichier php ?

Si le serveur de Free.fr se mettait à faire ce qu'il veut dans les sites hébergés chez lui, ça se saurait assez rapidement !

Tu as certainement du faire une fausse manipulation @mulanee

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, module version 2.3 installé/testé avec succès, c'est exactement ce qui manquait à mon site, indispensable aux visiteurs, un grand merci à vous pour ce super boulot !

 

Je constate cependant que le contenu de mes pages orphelines n’apparaît pas dans les résultats, j'ai donc envoyé le contenu de l'archive dans /core/modules puis j'ai modifié le fichier /core/core.php et enfin créé une page "Recherche" redirigée vers ?search, aurais-je raté une étape?

 

search.png

results.png

Modifié par Zwiistiti

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 38 minutes, Zwiistiti a dit :

Bonjour, module version 2.3 installé/testé avec succès, c'est exactement ce qui manquait à mon site, indispensable aux visiteurs, un grand merci à vous pour ce super boulot !

 

Je constate cependant que le contenu de mes pages orphelines n’apparaît pas dans les résultats, j'ai donc envoyé le contenu de l'archive dans /core/modules puis j'ai modifié le fichier /core/core.php et enfin créé une page "Recherche" redirigée vers ?search, aurais-je raté une étape?

 

search.png

results.png

Il me semble bien que les pages orphelines sont prises en compte mais pas les barres latérales. 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 53 minutes, Zwiistiti a dit :

D'accords merci, je vais relire tout le sujet et voir ça en détail pour tenter de régler la chose 😉

Bonsoir @Zwiistiti,

Tu as raison, le module ne prend pas en compte les pages orphelines. Pour cela, il faut modifier la ligne 45 de search.php :

foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) {

Cependant tu pourras télécharger la version corrigée ci-dessous

 

Cela soulève une question @sylvainlelievre, faut-il prendre en compte les barres latérales ?

Le problème est que le clic sur une barre n'affiche pas un contenu complet.

Pour moi il faudrait exclure, test de la ligne 46 :

 && $this->getData(['page', $parentId, 'block']) !== 'bar')

idem pour le test 58

 

Soit l'archive ci-dessous :

search.zip

  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 16 heures, Gilux a dit :

Bizarre ? Je dirais hautement improbable, car qu'est-ce qui a bien pu renommer de la sorte à la fois le dossier et le fichier php ?

Si le serveur de Free.fr se mettait à faire ce qu'il veut dans les sites hébergés chez lui, ça se saurait assez rapidement !

Tu as certainement du faire une fausse manipulation @mulanee

 

Citation

Pour faire la mise en ligne du module search tu utilises quoi ?

 

J'uploade avec Coreftp, c'est le seul logiciel ne se mettant pas constamment en erreur sur les pages free

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @Fred,

 

OK pour les pages orphelines, j'ai fait le test de cette nouvelle mouture avec la version dev 9.2. J'avais fait la même constatation pour les pages orphelines ("ne pas afficher") et maintenant les résultats du script recherche.php et du module search sont identiques. Et ça correspondait à tes explications sur getHierarchy .

 

 

Citation

Cela soulève une question @sylvainlelievre, faut-il prendre en compte les barres latérales ?

Le problème est que le clic sur une barre n'affiche pas un contenu complet.

Pour moi il faudrait exclure, test de la ligne 46 :

 && $this->getData(['page', $parentId, 'block']) !== 'bar')

 

 

A priori oui, je ferai un essai en faisant les 2 exclusions pour voir où est le problème quand on clic.

Bonne journée

 

Sylvain

 

  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 58 minutes, mulanee a dit :

J'ai uploadé ce matin le dernier search module, même genre d'erreur à l'édition d'une page.2019-07-05_092823.thumb.jpg.78e234385dcb63414005b8b91c208daf.jpg

J'utilise Filezilla sans problème avec Free.

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 13 minutes, Fred a dit :

J'utilise Filezilla sans problème avec Free.

J'utilise Filezilla partout sauf pour free.

Avec Filezilla et free j'ai tout le temps des messages me disant que j'ai plusieurs sessions ouvertes et que ce n'est pas possible.

Jamais de problème avec coreftp.

Mais je ne pense pas que ce soit ça le problème en fait.

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 7 minutes, mulanee a dit :

J'utilise Filezilla partout sauf pour free.

Avec Filezilla et free j'ai tout le temps des messages me disant que j'ai plusieurs sessions ouvertes et que ce n'est pas possible.

Jamais de problème avec coreftp.

Mais je ne pense pas que ce soit ça le problème en fait.

Il faut limiter le nombre de connexion à 1.

Si tu actives l'affichage des extensions de ton coté, cela pourrait t'aider.

De mon coté tout est ok, pas de double extension.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 22 minutes, mulanee a dit :

 

Dans filezilla?

Non dans l'explorateur :

image.thumb.png.38343e82d3cacea82ba2a5fedbcc7274.png

 

Paramètre Filezilla pour Free au cas où :

image.png.e3c7ee63dbdc6eeea5be9f25d1db8dc9.png

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, je n'ai même pas eu le temps de me plonger dans le code que vous avez déjà réglé le problème, merci de votre réactivité/efficacité, ça marche super bien!

Grâce à vos efforts et ce module de recherche, je vais enfin pouvoir republier un annuaire de liens fiables, constitué au fil de mes 20 années de surf sur la toile, ainsi qu'un grand nombre d'articles que j'avais mis de coté le temps de tester Zwii. Bon nombre des visiteurs de mon site vont grandement apprécier de pouvoir y effectuer des recherches précises. Merci encore.

Modifié par Zwiistiti
  • J'aime 2

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 05/07/2019 à 11:32, Fred a dit :

Non dans l'explorateur :

 

 

Paramètre Filezilla pour Free au cas où :

 

 

 

J'ai uploadé les dernières versions de Zwii et du module search, avec Filezilla cette fois.

Toujours la même erreur.

2019-07-05_092823.jpg.4400633ac51742f99352ad6533d82464.thumb.jpg.24d396ed594e7a7de18d5ff3f70c67c0.jpg

La ligne incriminée:

 

                if(is_file($fileInfos->getPathname() . '/' . $fileInfos->getFilename() . '.php')) {

 

edit: je n'y connais pas grand chose, mais est-ce que cette ligne n'essaie pas de rajouter l'extension .php à un fichier qui est déja en .php?

Pour info, mon installation n'est pas dans / mais dans un sous répertoire /Zwii, et c'est un hébergement Free.

Modifié par mulanee

Partager ce message


Lien à poster
Partager sur d’autres sites

Ton erreur est clairement décrite :

image.png.3e5cc5839a9414c5f4c6af89622e1efe.png

le chemin doit être module/search/search.php

et non

module/search.php/search.php.php

 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 36 minutes, Fred a dit :

Ton erreur est clairement décrite :

image.png.3e5cc5839a9414c5f4c6af89622e1efe.png

le chemin doit être module/search/search.php

et non

module/search.php/search.php.php

 

 

Certainement, mais search.php est dans module/search.

Je n'ai pas de répertoire search.php ni de fichier search.php.php, et ce n'est pas moi qui ai demandé ça dans le fichier page.phpScreenshot_20190708-162815.jpg.0fd23fd9c328ca40aedcfcb6c91e2d54.jpg

 

edit:fin mot de l'histoire, il y avait un fichier search.php dans le répertoire module.

Ce fichier était considéré comme un répertoire et appelé au lieu d'appeler le répertoire search

Modifié par mulanee

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...