+ Antworten
Ergebnis 1 bis 6 von 6

Thema: Searchbot soll nur eine Section durchsuchen

  1. #1
    Neu an Board
    Registriert seit
    31.10.2006
    Beiträge
    84
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Searchbot soll nur eine Section durchsuchen

    Hallo,

    ich hätte eine Frage: Ist es möglich, bzw. wie ist es möglich, dass mein Searchbot nur eine bestimmte Section durchsucht? Genau geht es um die Section mit der id=18!

    Ich hoffe ihr könnt mir helfen!

    Hier mein Code:

    Code:
    <?php
    defined( '_VALID_MOS' ) or die( 'Direct Access to this script is not allowed');
    $_MAMBOTS->registerFunction( 'onSearch', 'botSearchTitles' );
    
    function botSearchTitles( $text ) {
        global $database;
    
        $text = trim( $text );
        if ( empty($text) ) {
            return array();
        }
    
        $searchwords = explode(' ', $text);
    
        $data = array();
        foreach( $searchwords as $word ) {
            $data[] = "\n con.title LIKE '%$word%' ";
        }
        $xwhere = ' WHERE ' . implode('AND', $data);
    
        $query = "SELECT con.title AS title,"
            ."\n con.created AS created,"
            ."\n u.title AS section,"
            ."\n CONCAT( 'index.php?option=com_content&task=view&id=', con.id ) AS href,"
            ."\n 2 AS browsernav"
            ."\n FROM #__content AS con"
            ."\n LEFT JOIN #__sections AS u ON u.id = con.sectionid"
            . $xwhere
            ."\n ORDER BY con.sectionid, con.title"
            ;
        $database->setQuery( $query );
    
        // want sql error handling ?
        #if ($database->getErrorNum()) {
        #    echo $database->stderr();
        #    exit();
        #}
    
        return $database->loadObjectList();
    }
    ?>

  2. #2
    Gehört zum Inventar Avatar von deejey
    Registriert seit
    22.04.2006
    Ort
    HH
    Beiträge
    9.309
    Bedankte sich
    509
    Erhielt 1.791 Danksagungen
    in 1.583 Beiträgen

    Standard

    $xwhere = ' WHERE ' . implode('AND', $data);
    das $xwhere erweitern um "and sectionid = 18", Klammern müssen auch passen
    Kein Support über PM; Ignoriermodus aktiv bei "dringend", "schnell", "eilt", denn: Zeit ist relativ

  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board
    Registriert seit
    31.10.2006
    Beiträge
    84
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Erstmal danke für die Antwort, aber ich kenne mich leider zu wenig aus... Bringe die Form nicht so wirklich hin. Könntest du mir eventuell sagen wie der Code genau aussieht?

  5. #4
    Neu an Board
    Registriert seit
    31.10.2006
    Beiträge
    84
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Habe heute den ganzen Tag versucht den Code hinzubekommen, aber es hat nicht geklappt. Wäre wirklich dankbar wenn mir jemand sagen könnte, wie der Code genau aussehen muss!

  6. #5
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    PHP-Code:
    $xwhere  ' WHERE ' implode('AND'$data);
    $xwhere .= ' AND con.sectionid = 18'

  7. Erhielt Danksagungen von:


  8. #6
    Neu an Board
    Registriert seit
    31.10.2006
    Beiträge
    84
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Danke, funktioniert perfekt!

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein