Page 1 of 1

search module vraagje

Posted: Fri Jan 08, 2010 1:43 pm
by pedes
Ik gebruik op een website de search module van CMSMS.

Nu is het zo dat ik op die website een 30 tal pagina's heb met op ieder pagina een aantal afbeeldingen-links (via de module LinkMgr) naar externe sites.
Alle Afbeeldingen-links hebben een title en alt tag.
Alle pagina's zijn aangevinkt als doorzoekbaar.

Maar als ik nu zoek via de search verkrijg ik geen resultaten.
Ik zou verwachten als ik voorbeeld iets ingeef dat betrekking heeft tot de title tag, de link, de pagina dat dit in de lijst van zoek resultaten zou komen ?

Iemand enig idee wat ik over het hoofd zie ?
Dit is de site http://www.mega-cycle.be/fietsmerken

Mvg,
Peter

Re: search module vraagje

Posted: Fri Jan 08, 2010 1:48 pm
by Jos
Een module moet geschikt zijn om met de search module te werken. Ik had dat bij Gallery ook eerst niet voor elkaar, dacht dat het vanzelf ging. Maar ik kwam erachter dat er code nodig is om zoekwoorden voor de search module op te slaan.

Het kan dus zo zijn dat Linkmgr er geen integratie mee heeft.

Re: search module vraagje

Posted: Fri Jan 08, 2010 1:54 pm
by pedes
dank voor uw reply jos,

maar normaal zou een title en/of alt tag moeten werken met search als die code voor de zoekwoorden er zou zijn ?

en als die er niet is ... waar en wat  valt er dan te doen om dit wel te integreren, bestaat er zoiets als een ongeveer standaard code die dan ook kan geïntegreerd worden voor de module LinkMgr ?

Mvg,
Peter

Re: search module vraagje

Posted: Fri Jan 08, 2010 2:17 pm
by Jos
Ja want ik heb het ook ergens gekopieerd, volgens mij vanuit de news module.

Dat ziet er uit als:

Code: Select all

    function SearchResult($returnid, $gid, $attr = '')
    {
        $result = array();

        if ($attr == 'gallery')
        {
            $galleryinfo = $this->_Getgalleryinfobyid($gid);
            if ( $galleryinfo && $galleryinfo['active'] )
            {
                //0 position is the prefix displayed in the list results.
                $result[0] = $this->GetFriendlyName();

                //1 position is the title
                $result[1] = empty($galleryinfo['title']) ? trim($galleryinfo['filename'],"/") : $galleryinfo['title'];

                //2 position is the URL to the title.
                $gdir = $gid == 1 ? '' : str_replace('%2F','/',rawurlencode((empty($galleryinfo['filepath']) ? '' : $galleryinfo['filepath'] . '/') . $galleryinfo['filename']));
                $prettyurl = 'gallery/' . $gdir . $returnid;
                $result[2] = $this->CreateLink('cntnt01', 'default', $returnid, '', array('dir' => trim($gdir,'/')) ,'', true, false, '', true, $prettyurl);
            }
        }
        return $result;
    }


    function SearchReindex(&$module)
    {
        $galleries = $this->_GetGalleries();
        
        foreach ($galleries as $gid=>$gallery) 
        {
            $galleryinfo = $this->_Getgalleryinfobyid($gid);
            if ( $galleryinfo['active'] )
            {
                $searchwords = $gallery['title'] . ' ' . $gallery['comment'];
                $db =& $this->GetDB();
                $query = "SELECT title, comment 
                                    FROM " . cms_db_prefix() . "module_gallery g1
                                    WHERE galleryid=?";
                $result = $db->Execute($query, array($gid));
                if ( $result && $result->RecordCount() > 0 )
                {
                    while ( $row=$result->FetchRow() )
                    {
                        $searchwords .= ' ' . $row['title'] . ' ' . $row['comment'];
                    }
                }
                if ( !$result )
                {
                    echo 'ERROR: ' . mysql_error();
                    exit();
                }
                $module->AddWords($this->GetName(), $gid, 'gallery',$searchwords);
            }
        }
    }
Hier zitten al wat gallery-specifieke onderdelen in.

Daarnaast moet er bij de code om een nieuwe link op te slaan of te wijzigen ook nog een bewerking richting de search module gedaan worden... Best complex allemaal, bovendien ben je het bij de volgende update weer kwijt...

Ik zou een feature request indienen  ;)

Re: search module vraagje

Posted: Wed Jan 20, 2010 7:43 am
by pedes
Ik heb nu ipv. de LinkMgr module gewoon de links in 1 pagina aangepast en ze dus gewoon in de pagina geplaatst.
De links zijn voorzien van title-tag en alt-tag.

Maar als ik de zoek functie voorbeeld een naam die voorkomt in een alt of title tag ingeef, dan wordt er niets gevonden.
Normaal zou ik toch iets moeten vinden ?

Iemand een idee.

Mvg,
Peter