[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Suche auf der Seite (einbinden) - Seite 2 - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Kalle01
Beiträge: 310
Registriert: 10. Jan 2007, 21:27
Wohnort: Mettmann, NRW
Kontaktdaten: Website

16. Jan 2007, 22:45

Ich hänge mich mal hier mit rein:

Ich bin genau bis zum Erneuern des Suchindexes gekommen. Wenn ich das anstarte bekomme ich die folgende Fehlermeldung:

Code: Alles auswählen

Fatal error: Cannot redeclare sitemapliste() (previously declared in /mnt/jd2/07/159/00000013/htdocs/hoefkens/redaxo/include/classes/class.article.inc.php(179) : eval()'d code:8) in /mnt/jd2/07/159/00000013/htdocs/hoefkens/redaxo/include/classes/class.article.inc.php(179) : eval()'d code on line 8
Was sagt mir das? Die Sitemap über die der Indexaufbau zu stolpern scheint ist die hier:
http://www.redaxo.de/165-Moduldetails.html?module_id=81

Danke für Hilfe

Gruß Kalle

TomHH
Beiträge: 379
Registriert: 7. Nov 2005, 17:57
Wohnort: Hamburg

17. Jan 2007, 01:14

bau das mal in das Modul ein

Code: Alles auswählen

if (!function_exists('sitemapliste')) {
   function sitemapliste(...) {
      ...
   }
}
dann sollte es gehen.

Ciao, Tom

Dr KillerJoe
Beiträge: 1711
Registriert: 24. Nov 2005, 22:29
Kontaktdaten: ICQ Website Yahoo Messenger

17. Jan 2007, 01:26

Ein Blick in die Wiki hätte geholfen ;)

Fatal error: Cannot redeclare ***() (previously declared in ...)
(Im Sitemap-Modul ändern^^)

mfg
Flo
Die Doku und Wiki sind Deine Freunde!!!

Kalle01
Beiträge: 310
Registriert: 10. Jan 2007, 21:27
Wohnort: Mettmann, NRW
Kontaktdaten: Website

17. Jan 2007, 10:02

@Dr KillerJoe und TomHH

Danke für die Hinweise. Den Rat mit dem Wiki werde ich mir hinter die Ohren schreiben :)

Leider bin ich noch zu unerfahren, Euren Rat umzusetzen.
Mein erster Gedanke war jetzt die Funktion Sitemapliste umzubenennen. Der Erfolg war, dass ich den gleichen Fehlerhinweis mit dem neuen Namen bekommen habe.

Also habe ich versucht in das Modul sitemap den genannten Code einzubauen. Dazu bin ich aber noch zu unerfahren! wo muss das dann rein? Die kritische Funktion heißt jetzt Sitemap1

Oder noch besser: Wie kann man den Code besser hinbekommen damit der Fehler nicht auftritt (Rat aus dem Wiki)? Dann könnte man die Module im Download verbessern!

Code: Alles auswählen

<?PHP

function sitemap1(&$openul,$lev,$PathIndex)        // UnterKategorie nur anzeigen wenn der aktuelle Eintrag auch aktiv ist
{
    $time = time();
    if(
        $lev->isOnline()           // Categorie online
        && ($lev->getValue("online_from") <= $time)
        && ($lev->getValue("online_to") >= $time)           // und im Anzeigezeitraum
       )
    {
        if($openul == 0)                // ul Liste muss noch eroeffnet werden
        {
            print '<ul class="sitemaplevel'.$PathIndex.'">';
            $openul = 1;
        }
        print '<li><a class="level'.$PathIndex.'" href="'.$lev->getUrl().'">'.$lev->getName().'</a>';
        // jetzt die Untereintraege
        $levSize = sizeof($lev->getChildren());
        if($levSize != 0)                          // es gibt Kinder
        {
            $opensubul = 0;
            foreach($lev->getChildren() as $sublevel)       // Subebene anzeigen
            {
                sitemap1($opensubul,$sublevel,$PathIndex + 1);
            }
            if($opensubul == 1)
                echo "</ul>";
        }
        echo "</li>\n";
    }
}

function sitemap2(&$openul,$lev,$PathIndex)   // UnterKategorie immer anzeigen wenn online
{
    $time = time();
    $closetag = 0;
    if(
        $lev->isOnline()           // Categorie online
        && ($lev->getValue("online_from") <= $time)
        && ($lev->getValue("online_to") >= $time)           // und im Anzeigezeitraum
       )
    {
        if($openul == 0)                // ul Liste muss noch eroeffnet werden
        {
            print '<ul class="sitemaplevel'.$PathIndex.'">';
            $openul = 1;
        }
        print '<li><a class="level'.$PathIndex.'" href="'.$lev->getUrl().'">'.$lev->getName().'</a>';
        $closetag = 1;
    }
    // Unterkategorie immer bearbeiten
    $levSize = sizeof($lev->getChildren());
    if($levSize != 0)                          // es gibt Kinder
    {
        $opensubul = 0;
        foreach($lev->getChildren() as $sublevel)       // Subebene anzeigen
        {
            sitemap2($opensubul,$sublevel,$PathIndex + 1);
        }
        if($opensubul == 1)
            echo "</ul>";
    }
    if($closetag)
        echo "</li>\n";
}

$openul = 0;
foreach (OOCategory::getRootCategories() as $lev1)
{
    sitemap1($openul,$lev1,1);
}
if($openul == 1)
    echo "</ul>\n";
?>

Danke für die Anfängerhilfe

Gruß Kalle

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

17. Jan 2007, 10:09

Hej,

schau dir einmal den Post von Tom an. Dort steht es wie gemacht werden sollte.

Also vor jeder function überprüfen ob diese bereits existiert.

vg Thomas

TomHH
Beiträge: 379
Registriert: 7. Nov 2005, 17:57
Wohnort: Hamburg

17. Jan 2007, 10:40

Moin Kalle,

hier nochmal ne anfängertaugliche Anleitung! ;) Also, Du setzt vor die Zeile mit

Code: Alles auswählen

function sitemapliste(...) {
einfach

Code: Alles auswählen

if (!function_exists('sitemapliste')) {
und nach dem Code der Funktion sitemapliste() einfach eine schließende '}'.

Ich hoffe Du kannst nun was damit anfangen. Sonst frag gerne nochmal...

Ciao, Tom[/i]

Kalle01
Beiträge: 310
Registriert: 10. Jan 2007, 21:27
Wohnort: Mettmann, NRW
Kontaktdaten: Website

17. Jan 2007, 14:19

Danke für die Anfängeranleitung - den Fehler bin ich los.

Leider funktioniert die Suche aber immer noch nicht. Es kommt die Menldung: "keine Ergebnisse gefunden"
Ich habe den Eindruck, dass trotz Systembestätigung kein Suchindex aufgebaut wird. Kann man das irgendwo sehen? DB Tabelle oder so?

Danke

Kalle

P.S.: zum schauen http://www.xn--hfkens-wxa.de oder http://www.höfkens.de

TomHH
Beiträge: 379
Registriert: 7. Nov 2005, 17:57
Wohnort: Hamburg

17. Jan 2007, 15:10

die Tabelle heißt *12_searchindex oder so und da sollte was drin sein. Sonst gibt doch mal die Zugangsdaten per PN dann schau ich es mir mal an.

Gruß, Tom

Benutzeravatar
uwe
Beiträge: 264
Registriert: 21. Dez 2005, 18:39
Wohnort: Hamburg
Kontaktdaten: Website

17. Jan 2007, 15:12

Mahlzeit!

du hast sicherlich auch im Backend im Add-On auf "Such Index erneuern" geklickt? Und es wurde dir quittiert mit "Suchindex wurde erneuert!" ???

dann kannst du noch in deine Readxo-DB kucken, ob dort die Tabelle "rex_12_search_index" vorhanden und mit Datensätzen gefüllt ist.

Und du hast sicherlich aus dem Add-On aus "Suche in ein Modul einbauen" die "Anleitung für Suchausgabe Modul" in den Ausgabeteil eines SuchModuls eingebaut.

Dann sicher einen Artikel als Ausgabeseite erstellt, für die Ausgabe der gefundenen Sätze. In diesen Artikel das SuchModul eingebunden.
Dann die Artikelnummer z.B. 90 dieses Artikels gemerkt und im default-Template folgendes eingefügt:

<!-- ---------------------------- suchmodul ---------------------------------------- -->
<form action="<?php print rex_getUrl(90); ?>" method="get">
<fieldset>
<label for="search">Suchen:</label>
<input type="text" id="search" name="rexsearch" value="" />
<input type="hidden" name="article_id" value="90" />
</fieldset>
</form>
<!-- ---------------------------- suchmodul ---------------------------------------- -->

Wenn dem so ist, müsste die Suche funktionieren.

Mfg
Uwe

TomHH
Beiträge: 379
Registriert: 7. Nov 2005, 17:57
Wohnort: Hamburg

17. Jan 2007, 16:32

Viel Spaß mit der Suche, Kalle! :) Die Ausgabe mußt Du noch anpassen. Hab den Code einfach rein kopiert.

Grüße, Tom

PS: hab Dir ein Modul Namens 'PHP Code' angelegt. Den darin enthaltenen Code kannst Du in Modul 16 kopieren...

Kalle01
Beiträge: 310
Registriert: 10. Jan 2007, 21:27
Wohnort: Mettmann, NRW
Kontaktdaten: Website

23. Jan 2007, 12:48

Hallo Tom,

es hat etwas länger gedauert bis ich kapiert habe was Du gemacht hast - super Danke für die Hilfe.
Die Formatierung folgt jetzt.

Gruß Kalle

Benutzeravatar
hundertmorgen
Beiträge: 189
Registriert: 29. Jul 2005, 15:36
Wohnort: Seattle - USA
Kontaktdaten: Website

24. Jan 2007, 20:05

Hallo Allerseits,
ich bin auch gerade mit dem Suchmodul beschäftigt und stoße auf die (vermutlich) gleichen Probleme...

Also ich habe soweit alles gemacht, wie uwe hier zuletzt beschrieben hat.
Ausgegeben wird bei mir jedoch nur der Titel (mit Link) zum jeweils gefundenen Artikel. Was fehlt ist die ...Kurzbeschreibung... und das entsprechende "highlight" des Suchbegriffes im Text (so wie man es auf webbude.de sehen kann)???

Könnt Ihr (die Lösung von TomHH) hier bitte noch mal beschreiben?
Das wäre klasse :-)

Vielen Dank,
Sandra

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

25. Jan 2007, 08:44

Hej Sandra,

http://webbude.com

Aber zu deinem Problem: Wenn ich mich recht erinnere, hatten wir das einmal bei dir irgendwo schon einmal eingerichtet. Eventuell schaust du dort einmal nach oder schickst einen Backendzugang.

vg Thomas

TomHH
Beiträge: 379
Registriert: 7. Nov 2005, 17:57
Wohnort: Hamburg

25. Jan 2007, 11:19

Hi Sandra, ich hab mich eigentlich nur an die Anleitung des Suchmoduls gehalten. Wenn Du Ergebnisse bekommst aber keine Summary des Artikel, dann mußt Du mal im PHP Code Nähe der Ausgabe gucken. Kann eigentlich nicht viel falsch sein - evtl. Zeile auskommentiert? Sonst nimm das Angebot von Thomas an! :wink:

Ciao, Tom

Benutzeravatar
uwe
Beiträge: 264
Registriert: 21. Dez 2005, 18:39
Wohnort: Hamburg
Kontaktdaten: Website

25. Jan 2007, 11:37

Moin Sandra!

in deinem Suchmodul (s.o.) - ziemlich am Anfang - müsstest du, wenn du es im Original übernommen hast, stehen haben:
// Anzahl anzuzeigender Buchstaben um den Suchtreffer herum
$search->surroundchars = xxx;

// Pre-/Suffix für Suchwortauszeichnung
$search->sourround_start_tag = "<strong>";
$search->sourround_end_tag = "</strong>";
setze xxx doch mal auf einen höheren wert, z.b. 100. Dann werden mehr Zeichen um den Suchbegriff "herum" angezeigt.

Dann: 'der HTML-Tag <strong> betont einen eingeschlossenen Text. Die meisten Browser stellen den ausgewählten Text in einem fetten Schriftstil dar, der den Text größer und dunkler erscheinen lässt. Anstelle des <strong>-Tags kann auch das <b>-Tag benutzt werden.'

Fehlermöglichkeiten, siehe TomHH.

Viele Grüße
Uwe

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

25. Jan 2007, 12:42

Hej,
uwe hat geschrieben:Dann: 'der HTML-Tag <strong> betont einen eingeschlossenen Text. Die meisten Browser stellen den ausgewählten Text in einem fetten Schriftstil dar
Eventuell hast du hier eine CSS-Anwesiung drin, die dir den Text nicht hervorhebt

Bspl:

Code: Alles auswählen

strong {
  font-weight:normal;
}
uwe hat geschrieben:der den Text größer und dunkler erscheinen lässt. Anstelle des <strong>-Tags kann auch das <b>-Tag benutzt werden.'
Ein kleine Anmerkung: Es gibt aber einen Unterschied. Genauso wie <i> und <em>. <i> und <b> haben nur visuelle Funktionen und keine weiteren wie zum Bspl. Betonungen. Daher sollte man überlegen wann welches Tag benutzt werden sollte.

vg Thomas

Benutzeravatar
hundertmorgen
Beiträge: 189
Registriert: 29. Jul 2005, 15:36
Wohnort: Seattle - USA
Kontaktdaten: Website

25. Jan 2007, 14:09

vielen Dank für Eure Rückmeldungen, leider hilft mir das nicht weiter, denn das mit den Auszeichnungen / CSS etc. ist schon klar...

@Thomas: ich benutze dieses Suchmodul zum ersten Mal, deshalb kann ich da leider nicht auf eine frühere Umsetzung zurückgreifen :-(

Nun noch mal zu meinem Problem, wie ich das einschätze:

das hier steht im Quelltext der Suchausgabe:

Code: Alles auswählen

<p><a href=index.php?article_id=3>Der Club</a><br /></p><p><a href=index.php?article_id=42>Clubmannschaft</a><br /></p> ...
demnach wird folgendes wohl nicht ausgegeben

Code: Alles auswählen

print $hit['highlightedtext'];
$hit['id']
$hit['name']
werden gefunden!

Mmhhh, hat jemand eine Idee woran das liegen kann?
Ich benutze die Redaxo Version 3.2.

Vielen Dank für Eure Hilfe...
Sandra

TomHH
Beiträge: 379
Registriert: 7. Nov 2005, 17:57
Wohnort: Hamburg

25. Jan 2007, 14:18

Sandra, magst Du uns mal Deinen Code des Eingabefeldes für die Suche posten?

Tüss, Tom

Benutzeravatar
hundertmorgen
Beiträge: 189
Registriert: 29. Jul 2005, 15:36
Wohnort: Seattle - USA
Kontaktdaten: Website

25. Jan 2007, 14:25

gerne...

diesen Code habe ich in mein default Template als Eingabefeld eingebunden:

Code: Alles auswählen

<form action="<?php print rex_getUrl(60); ?>" method="get">
	<fieldset>
		<label for="search">Suchen:</label>
        	<input type="text" id="search" name="rexsearch" value="" />
                <input type="hidden" name="article_id" value="60" />
	</fieldset>
</form>
Artikel 60 soll dann meine Suchausgabe sein... also der Artikel, der das Suchmodul beinhaltet.

Benutzeravatar
hundertmorgen
Beiträge: 189
Registriert: 29. Jul 2005, 15:36
Wohnort: Seattle - USA
Kontaktdaten: Website

25. Jan 2007, 14:34

mir fällt gerade auf, dass auch im Addon "Such Index" bei der Adminsuche nur den Artikelname, Sprache und Pfad ausgegeben wird.

lt. Quelltext des Addons

Code: Alles auswählen

 print "Artikel: <b><a href=index.php?page=content&article_id=".$var['id']."&mode=edit&clang=".$var['clang'].">".$var['name']."</a></b> Sprache: <b>".$REX['CLANG'][$var['clang']]."</b> Pfad: $treestring "."<br>".$var['highlightedtext'];
sollte hier aber auch noch der $var['highlightedtext'] ausgegeben werden...

mhhh

TomHH
Beiträge: 379
Registriert: 7. Nov 2005, 17:57
Wohnort: Hamburg

25. Jan 2007, 14:37

Sandra, kann man die Seite irgendwo sehen? Tritt das Problem nur auf, wenn Du nur ^1^ Treffer hast oder auch wenn es mehrere Ergebnisse gibt?

Tom

Benutzeravatar
hundertmorgen
Beiträge: 189
Registriert: 29. Jul 2005, 15:36
Wohnort: Seattle - USA
Kontaktdaten: Website

25. Jan 2007, 14:47

ok, ich hab es gelöst...

ich habe hier im Forum nochmal nach "highlightedtext" gesucht und bin dabei auf folgenden Beitrag http://forum.redaxo.de/ftopic2759.html& ... ightedtext gestoßen und die Anregung von Fanello hat geholfen! Jetzt funktioniert es :-)
hatte dasselbe Problem.
Folgendes muss man ändern:

statt
Code:
preg_match_all($regex, $regexcontent, $matches = array());


neu
Code:
preg_match_all($regex, $regexcontent, $matches);
Datei = Addon "Such Index" / class.search_index.inc.php

Nic
Beiträge: 82
Registriert: 18. Jan 2006, 16:20
Wohnort: Steinfurt/Westf.

6. Mär 2007, 18:38

Hallo,

hab grad versucht die Suchfunktion einzubinden und das ist hier ja auch super erklärt. Ich erhalte aber immer nur die meldung: "Nichts gefunden".

Und jetzt hab ich gesehen dass unter Such-Index folgende Meldung steht:

Fatal error: Call to undefined function: rex_title() in /homepages/37/d13536037/htdocs/time42/redaxo/include/addons/search_index/pages/index.inc.php on line 6

In der index.inc.php steht:

Code: Alles auswählen

<?php

/**
 * 
 * @package redaxo3
 * @version $Id: searchindex.inc.php,v 1.1 2006/07/21 13:53:09 kills Exp $
 */
 
rex_register_extension('OUTPUT_FILTER_CACHE', 'rex_search_gen_index');
function rex_search_gen_index()
{
  $search = new rex_search_index();
  $search->rex_indexSite();
}

echo '<table class=rex style=table-layout:auto; cellpadding=5 cellspacing=1>';
echo '<tr><th>&nbsp;&nbsp;Suchindex wurde erneuert!</th></tr>';
echo '</table>';
rex_register_extension_point('SEARCH_GENERATED');

?>
Keine Ahnung watt nu ...
Alle sagten dass es nicht geht. Dann kam jemand der das nicht wußte und machte es einfach.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

6. Mär 2007, 20:16

Hej,

welche Redaxo- und welche Addon-Version verwendest du?

vg Thomas

Nic
Beiträge: 82
Registriert: 18. Jan 2006, 16:20
Wohnort: Steinfurt/Westf.

7. Mär 2007, 14:58

hab ich auch schon überprüft.

Redaxo:3.1
Addon: 3.x

Das wäre ja ok so oder?
Alle sagten dass es nicht geht. Dann kam jemand der das nicht wußte und machte es einfach.

Zurück zu „Allgemeines [R3]“