Fork me on GitHub






Template résultat moteur de recherche - Search - Xoops 2.5.6
Semi pro
Inscrit: 13/04/2007 20:36
Messages: 849
Bonsoir
Je teste en ce moment la migration d’un site Xoops 2.0.18 vers 2.5.6. Tout ce passe très bien sauf côté Design concernant les résultats du moteur de recherche.

Dans la version 2.0.18 un hack était déjà intégré lors de l’installation de Xoops (c’etais un Hack de Dugris) dans le fichier search.php (qui étais à la racine) qui faisais référence à un fichier HTML qui se trouvé dans Modules/System/templates/ et qui se nommé system_search.html et qui permettais de modifier l’apparence de la page des résultats. Et je dis déjà intégré car je n’ai aucunement touché à ces fichiers et au template car le résultat était très sympathique (comme vous pouvez le voir sur les imprimes écrans ci-dessous).

Affichage des résultats dans Xoops 2.0.18
Open in new window

Open in new window

Par contre dans la version de Xoops 2.5.6, je ne retrouve plus du tout la page system_searchitem.html dans le dossier template du module system.

Affichage des résultats dans Xoops 2.5.6 (avec la même recherche que dans 2.0.18)
Open in new window

Open in new window

Etant assez novice, est-ce que vous seriez comment je pourrais faire pour avoir le même affichages des résultats dans la 2.5.6 comme je l’avais dans la 2.0.18.

Merci d’avance pour vos réponses
Bonne soirée

Posté le : 03/04/2015 19:00

Une personne qui n'a jamais commis d'erreurs n'a jamais tenté d'innover. [Albert Einstein]
Partager Twitter Partagez cette article sur GG+
Re: Template résultat moteur de recherche - Search - Xoops 2.5.6
Semi pro
Inscrit: 13/04/2007 20:36
Messages: 849
Bonsoir
Je vous met les codes des 2 fichiers correspondants (peut-être que l'on peut intégrer le Template sur la version 2.5.6 )

Je n'ai pas réussi a faire la liaison avec le Template sur la 2.5.6 Si quelqu'un avais une piste, je suis preneur.

Code du fichier search.php de la version 2.0.18

<?php
// $Id: search.php 506 2006-05-26 23:10:37Z skalpa $
//  ------------------------------------------------------------------------ //
//                XOOPS - PHP Content Management System                      //
//                    Copyright (c) 2000 XOOPS.org                           //
//                       <http://www.xoops.org/>   ... nbsp;   //
//  ------------------------------------------------------------------------ //
//  This program is free software; you can redistribute it and/or modify     //
//  it under the terms of the GNU General Public License as published by     //
//  the Free Software Foundation; either version 2 of the License, or        //
//  (at your option) any later version.                                      //
//                                                                           //
//  You may not change or alter any portion of this comment or credits       //
//  of supporting developers from this source code or any supporting         //
//  source code which is considered copyrighted (c) material of the          //
//  original comment or credit authors.                                      //
//                                                                           //
//  This program is distributed in the hope that it will be useful,          //
//  but WITHOUT ANY WARRANTY; without even the implied warranty of           //
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
//  GNU General Public License for more details.                             //
//                                                                           //
//  You should have received a copy of the GNU General Public License        //
//  along with this program; if not, write to the Free Software              //
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
//  ------------------------------------------------------------------------ //

$xoopsOption['pagetype'] = "search";

include 
'mainfile.php';

// --------------------------------------------------- Hack by DuGris
include_once XOOPS_ROOT_PATH '/include/functions_search.php';
// --------------------------------------------------- Hack by DuGris

$config_handler =& xoops_gethandler('config');
$xoopsConfigSearch =& $config_handler->getConfigsByCat(XOOPS_CONF_SEARCH);

if (
$xoopsConfigSearch['enable_search'] != 1) {
    
header('Location: '.XOOPS_URL.'/index.php');
    exit();
}
$action "search";
if (!empty(
$_GET['action'])) {
  
$action $_GET['action'];
} elseif (!empty(
$_POST['action'])) {
  
$action $_POST['action'];
}
$query "";
if (!empty(
$_GET['query'])) {
  
$query $_GET['query'];
} elseif (!empty(
$_POST['query'])) {
  
$query $_POST['query'];
}
$andor "AND";
if (!empty(
$_GET['andor'])) {
  
$andor $_GET['andor'];
} elseif (!empty(
$_POST['andor'])) {
  
$andor $_POST['andor'];
}
$mid $uid $start 0;
if ( !empty(
$_GET['mid']) ) {
  
$mid intval($_GET['mid']);
} elseif ( !empty(
$_POST['mid']) ) {
  
$mid intval($_POST['mid']);
}
if (!empty(
$_GET['uid'])) {
  
$uid intval($_GET['uid']);
} elseif (!empty(
$_POST['uid'])) {
  
$uid intval($_POST['uid']);
}
if (!empty(
$_GET['start'])) {
  
$start intval($_GET['start']);
} elseif (!empty(
$_POST['start'])) {
  
$start intval($_POST['start']);
}

$queries = array();

if (
$action == "results") {
    if (
$query == "") {
         
redirect_header("search.php",1,_SR_PLZENTER);
        exit();
    }
} elseif (
$action == "showall") {
    if (
$query == "" || empty($mid)) {
        
redirect_header("search.php",1,_SR_PLZENTER);
        exit();
    }
} elseif (
$action == "showallbyuser") {
    if (empty(
$mid) || empty($uid)) {
        
redirect_header("search.php",1,_SR_PLZENTER);
        exit();
    }
}

$groups is_object($xoopsUser) ? $xoopsUser -> getGroups() : XOOPS_GROUP_ANONYMOUS;
$gperm_handler = & xoops_gethandler'groupperm' );
$available_modules $gperm_handler->getItemIds('module_read'$groups);

if ( 
$andor != "OR" && $andor != "exact" && $andor != "AND" ) {
    
$andor "AND";
}

$myts =& MyTextSanitizer::getInstance();

// --------------------------------------------------- Hack by DuGris
$ignored_queries = array(); // holds kewords that are shorter than allowed minmum length
if ($action != 'showallbyuser' && $action !='search' ) {
// --------------------------------------------------- Hack by DuGris
    
if ( $andor != "exact" ) {
        
$ignored_queries = array(); // holds kewords that are shorter than allowed minmum length
        
$temp_queries preg_split('/[s,]+/'$query);
        foreach (
$temp_queries as $q) {
            
$q trim($q);
            if (
strlen($q) >= $xoopsConfigSearch['keyword_min']) {
                
$queries[] = $myts->addSlashes($q);
            } else {
                
$ignored_queries[] = $myts->addSlashes($q);
            }
        }
        if (
count($queries) == 0) {
            
redirect_header('search.php'2sprintf(_SR_KEYTOOSHORT$xoopsConfigSearch['keyword_min']));
            exit();
        }
    } else {
        
$query trim($query);
        if (
strlen($query) < $xoopsConfigSearch['keyword_min']) {
            
redirect_header('search.php'2sprintf(_SR_KEYTOOSHORT$xoopsConfigSearch['keyword_min']));
            exit();
        }
        
$queries = array($myts->addSlashes($query));
    }
}

// --------------------------------------------------- Hack by DuGris
$xoopsOption['template_main'] = 'system_search.html';
include 
XOOPS_ROOT_PATH."/header.php";
$xoopsTpl->assign('action'$action );

if (
$action != 'showallbyuser') {
    include 
'include/searchform.php';
    
$xoopsTpl->assign('search_form'$search_form->render());
} else {
    
$xoopsTpl->assign('user_link'xoops_getLinkedUnameFromId($uid));
}
// --------------------------------------------------- Hack by DuGris

switch ($action) {
    case 
"results":
    
$module_handler =& xoops_gethandler('module');
    
$criteria = new CriteriaCompo(new Criteria('hassearch'1));
    
$criteria->add(new Criteria('isactive'1));
    
$criteria->add(new Criteria('mid'"(".implode(','$available_modules).")"'IN'));
    
$modules =& $module_handler->getObjects($criteriatrue);
    
$mids = isset($_REQUEST['mids']) ? $_REQUEST['mids'] : array();
    if (empty(
$mids) || !is_array($mids)) {
        unset(
$mids);
        
$mids array_keys($modules);
    }

// --------------------------------------------------- Hack by DuGris
    
SearchMakeHeader($andor$queries$ignored_queries);
    
$hasresult false;
// --------------------------------------------------- Hack by DuGris

    
foreach ($mids as $mid) {
        
$mid intval($mid);
        if ( 
in_array($mid$available_modules) ) {
            
$module =& $modules[$mid];

// --------------------------------------------------- Hack by DuGris
            
if ( SearchMakeResult($action$module$queries$andor) ) {
                
$hasresult true;
            }
// --------------------------------------------------- Hack by DuGris

        
}
    }

// --------------------------------------------------- Hack by DuGris
    
if ( !$hasresult ) {
        
$xoopsTpl->assign('searchmessage'_SR_NOMATCH );
    }
// --------------------------------------------------- Hack by DuGris

    
break;
    case 
"showall":
    case 
'showallbyuser':
    
$module_handler =& xoops_gethandler('module');
    
$module =& $module_handler->get($mid);

// --------------------------------------------------- Hack by DuGris
    
SearchMakeHeader($andor$queries$ignored_queries);
    
SearchMakeResult($action$module$queries$andor$start$uid);
// --------------------------------------------------- Hack by DuGris

    
break;

// --------------------------------------------------- Hack by DuGris
    
case "search":
    case 
"default":
    break;
// --------------------------------------------------- Hack by DuGris

}
include 
XOOPS_ROOT_PATH."/footer.php";
?>


Et code du fichier system_search.html de la version 2.0.18 qui se trouve dans modules / system / templates /

<{if $action != "search" && $action != "showallbyuser"}>
    <
div class="item">
        <
div class="itemHead">
        <
b><{$smarty.const._SR_SEARCHRESULTS}></b>
        </
div>

      <{if 
$searchfrom == "user"}>
            <{
$smarty.const._SR_NICKNAME}>&nbsp;:&nbsp;<{$user_link}>
      <{else}>
            <
div class="itemBody">
              <!-- 
search type -->
                <{
$smarty.const._SR_TYPE}>&nbsp;:
                <
b>
                <{if 
$searchmethod == 'ALL'}>
                    <{
$smarty.const._SR_ANY}>
                <{elseif 
$searchmethod == 'OR'}>
                    <{
$smarty.const._SR_ANY}>
                <{else}>
                    <{
$smarty.const._SR_EXACT}>
                <{/if}>
                </
b>
            </
div>

            <
div class="itemBody">
              <!-- 
queries -->
                <{
$smarty.const._SR_KEYWORDS}>&nbsp;:
                <{foreach 
item=query from=$queries}><b><{$query}>&nbsp;</b><{/foreach}>
            </
div>

            <!-- 
ignored queries -->
            <{if 
count($ignored_queries) != 0}>
              <
div class="itemBody odd">
                    <{
$ignored_txt}>
                    <{foreach 
item=query from=$ignored_queries}><b><{$query}>&nbsp;</b><{/foreach}>
                </
div>
            <{/if}>
        <{/if}>

        <{if 
$searchmessage}>
            <
div class="itemBody center odd">
                <{
$searchmessage}>
            </
div>
        <{/if}>
    </
div>

    <{if 
$pagenav}>
        <{
$pagenav}>
    <{/if}>
<{/if}>

<{if 
count($search) > 0}>
    <{foreach 
item=module from=$search}>
        <
div class="item">
            <
div class="itemHead">
                <
div class="itemTitle">
                <
a href='<{$xoops_url}>/modules/<{$module.dirname}>' title='<{$module.name}>'><img src='<{$module.image}>' alt='<{$module.name}>' />&nbsp;<{$module.name}></a>
                </
div>
            </
div>

            <
div>
                <{include 
file="db:system_searchitem.html"}>
            </
div>

            <{if 
$module.showall}>
                <
div class="itemFoot">
                    <
span class="itemPermaLink">
               <{
$module.count}>
                    &
nbsp;|&nbsp;
                    <
a href="<{$module.showall}>"><{$smarty.const._SR_SHOWALLR}></a>
                    </
span>
                </
div>
            <{/if}>
        </
div>
    <{/foreach}>

    <{if 
$pagenav}>
        <{
$pagenav}>
    <{/if}>

<{/if}>

<!-- 
display search form -->
<{
$search_form}>


Merci d'avance pour vos réponses

Posté le : 04/04/2015 19:33

Une personne qui n'a jamais commis d'erreurs n'a jamais tenté d'innover. [Albert Einstein]
Partager Twitter Partagez cette article sur GG+
Re: Template résultat moteur de recherche - Search - Xoops 2.5.6
Semi pro
Inscrit: 13/04/2007 20:36
Messages: 849
Bonsoir

Je fais remonter ce sujet pour savoir si quelqu'un serais intéressé d'essayer ensemble de rendre les résultats de recherches un peu plus sexy sous Xoops 2.5.6 comme ils étaient sous la 2.0.18 (voir les messages au-dessus).

Cela intéresse t'il quelqu'un ou pas d'essayer de le faire ensemble ?

Par contre, il faudrais déjà que je comprenne comment intégrer la fonction PageNav dans les résultats. Voir post pour plus de précisions pour la demande d'intégration de PageNav --> https://www.frxoops.org/modules/newbb/ ... hp?topic_id=37337&forum=5

Merci d'avance pour votre réponse

Posté le : 11/09/2015 21:45

Une personne qui n'a jamais commis d'erreurs n'a jamais tenté d'innover. [Albert Einstein]
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

43 Personne(s) en ligne (36 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 43 | Plus ...