Suchmodul und Mod_rewrite
Suchmodul und Mod_rewrite
Hallo,
habe eine Problem mit dem Suchmodul und beiße mir die Zähne daran aus. Ich denke mal das es am Mod_rewrite zusammen hängen tut.
Wenn ich im Suchfeld was eingebe wird folgende URL zusammengestellt.
meine.domein.de/suchergebnisse.html?idart=2&search_term=test
Die idart=2 in der URL gehört da nicht rein und ist die Idart von welcher Seite aus die Abfrage gestartet wurde.
Was muss ich tun um das zu beheben??
Benutze Standard-Suchmodul und Contenido 4.9.12 bei Hosteurope.
Seltsamerweise funktioniert die Suche bei einem anderen Provider richtig.
habe eine Problem mit dem Suchmodul und beiße mir die Zähne daran aus. Ich denke mal das es am Mod_rewrite zusammen hängen tut.
Wenn ich im Suchfeld was eingebe wird folgende URL zusammengestellt.
meine.domein.de/suchergebnisse.html?idart=2&search_term=test
Die idart=2 in der URL gehört da nicht rein und ist die Idart von welcher Seite aus die Abfrage gestartet wurde.
Was muss ich tun um das zu beheben??
Benutze Standard-Suchmodul und Contenido 4.9.12 bei Hosteurope.
Seltsamerweise funktioniert die Suche bei einem anderen Provider richtig.
Re: Suchmodul und Mod_rewrite
Warum gehst du davon aus, das die idart da nicht reingehört?
Hab das Suchmodul gerade nicht vor Augen, aber insofern es keinen anderen Handler-Artikel oder Ajax nutzt, sollte es korrekt sein,
das er die gleiche Page wieder aufruft, da er ja die Parameter übergibt, die für, die Suche erforderlich sind.
Hast du AMR mal deaktiviert und dann die Suche getestet... und wenn Sie geht die URL-Hops verfolgt?
Hab das Suchmodul gerade nicht vor Augen, aber insofern es keinen anderen Handler-Artikel oder Ajax nutzt, sollte es korrekt sein,
das er die gleiche Page wieder aufruft, da er ja die Parameter übergibt, die für, die Suche erforderlich sind.
Hast du AMR mal deaktiviert und dann die Suche getestet... und wenn Sie geht die URL-Hops verfolgt?
Could I help you... you can help me... buy me a coffee ☕. (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )
xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung
Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung
Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
Re: Suchmodul und Mod_rewrite
Vermutung:
Normalerweise dürften mit AMR die folgenden zwei Zeilen keinen Quellcode ausgeben:
Hast du irgendwas am Modul geändert, z.B. bei der Übergabe an Smarty, so dass $idart DOCH gesetzt ist und die Zeile erzeugt wird, obwohl sie ungültig sein sollte?
Normalerweise dürften mit AMR die folgenden zwei Zeilen keinen Quellcode ausgeben:
Code: Alles auswählen
{if $idart}<input type="hidden" name="idart" value="{$idart|escape}" />{/if}
{if $idlang}<input type="hidden" name="idlang" value="{$idlang|escape}" />{/if}
Re: Suchmodul und Mod_rewrite
Wenn ich in der URL die idart rausschneide funktioniert die Suche deswegen ist meine Vermutung das sie da nicht reingehört. Ich habe eigentlich nichts verändert. Was muss ich den verändern damit es da nicht erscheint?? Oder ist dieser Ansatz falsch??
Im Modul Output steht folgendes:
Und im HTML:
Im Modul Output steht folgendes:
Code: Alles auswählen
<?php
/**
* description: top search form
*
* @package Module
* @subpackage NavigationSearchformTop
* @version SVN Revision $Rev:$
*
* @author marcus.gnass@4fb.de
* @copyright four for business AG <www.4fb.de>
* @license http://www.contenido.org/license/LIZENZ.txt
* @link http://www.4fb.de
* @link http://www.contenido.org
*/
// assert framework initialization
defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');
// get IDART of search result article
$searchResultIdart = getEffectiveSetting('sidebar_searchform', 'search_result_idart');
$searchResultIdart = cSecurity::toInteger($searchResultIdart);
// check if plugin mod_rewrite is enabled
$isModRewriteEnabled = class_exists('ModRewrite') && ModRewrite::isEnabled();
// show search form only if search result article is defined
$action = $method = $label = $submit = '';
if (0 < $searchResultIdart) {
// determine action & method for search form
if ($isModRewriteEnabled) {
$action = cUri::getInstance()->build(array(
'idart' => $searchResultIdart,
'lang' => cRegistry::getLanguageId()
));
} else {
$action = 'front_content.php';
}
// determine how the search request should be transmitted
$method = 'GET';
// determine label to be shown inside input field
$label = mi18n("NAVIGATION_SEARCHFORM_TOP_LABEL");
// this translation is optional
if (false !== strpos($label, 'Module translation not found: ')) {
$label = '';
}
// determine label to be shown on submit button
$submit = mi18n("NAVIGATION_SEARCHFORM_TOP_SUBMIT");
// this translation is optional
if (false !== strpos($submit, 'Module translation not found: ')) {
$submit = '';
}
}
// use template to display search form
$tpl = cSmartyFrontend::getInstance();
$tpl->assign('action', $action);
$tpl->assign('method', $method);
$tpl->assign('label', $label);
$tpl->assign('submit', $submit);
if (!$isModRewriteEnabled) {
$tpl->assign('idart', $searchResultIdart);
$tpl->assign('idlang', cRegistry::getLanguageId());
}
$tpl->display('get.tpl');
?>
Code: Alles auswählen
{if 0 eq $action|trim|strlen}
{else}
<h1>{$label}</h1>
<div class="sidebar-box">
<form action="{$action}" method="{$method}" id="sidebar_searchform">
{if $idart} <input type="hidden" name="idart" value="{$idart|escape}" />
{/if}{if $idlang}
<input type="hidden" name="idlang" value="{$idlang|escape}" />
{/if}
<input type="text" id="search_term" name="search_term" value="" />
<input type="submit" value="{$submit}" class="searchbutton" />
</form>
</div>
{/if}
Re: Suchmodul und Mod_rewrite
Dann poste doch bitte mal, was als Formular im HTML-Quellcode steht...
Re: Suchmodul und Mod_rewrite
Code: Alles auswählen
<div class="sidebar-box">
<form action="/suchergebnisse/suchergebnisse.html" method="GET" id="sidebar_searchform">
<input type="hidden" name="idart" value="1457" />
<input type="text" id="search_term" name="search_term" value="" />
<input type="submit" value="Suchen" class="searchbutton" />
</form>
</div>
Code: Alles auswählen
{if $idart}<input type="hidden" name="idart" value="{$idart|escape}" />{/if}
Re: Suchmodul und Mod_rewrite
Ich denke, dass es unglücklich ist, im Output die Variable "idart" ans Template zu übergeben, die dort per $idart aufgerufen wird. Ich habe den schweren Verdacht, dass die auch ohne Übergabe so global gültig ist ($idart ist ja bis dato im ganzen Contenido stets definiert, zumindest derzeit noch). Wahrscheinlich ist daher "if idart" im Smarty doch nie wirklich leer, während "if idlang" leer ist, weil die global eben anders heißt, nämlich $lang.
Daher ließe sich das Problem wohl auch umgehen, indem man die Variable unter anderem Namen übergibt, z.B. "idartResult" und auch so in der if-Schleife abfragt.
LG
Daher ließe sich das Problem wohl auch umgehen, indem man die Variable unter anderem Namen übergibt, z.B. "idartResult" und auch so in der if-Schleife abfragt.
LG