Ga terug   Computer Idee Forum > Internet > Websites maken

Antwoord
 
Discussietools Weergave
Oud 6 October 2011, 15:10   #11
anoniem31645
Guest
 
Berichten: n/a
Standaard zoek functie

Ik gebruik zencart als onderdeel van mijn website dus als men op mijn site komt krijgt men eerst een index pagina van een ander script en als men dan op de link "webshop" klikt komt men pas op de webwinkel. nu heb ik op de index pagina (en andere pagina's die niet het zencart script gebruiken) een zoek veld gemaakt waarmee men naar informatie kan zoeken. het informatie zoeken gebeurt met het script van "sphider" maar nu wil ik dus met dit zoekveld ook producten kan zoeken met de zoekfunctie van zencart.

Met een drop down menu kan men kiezen of men via sphider (informatie zoeken) of via zencart wilt zoeken. via een if statement (php) wil ik afhankelijk van deze keuze dus het zoekveld van spider laten vullen of het zoekveld van zencart. voor sphider gaat dit goed maar nu dus de vraag hoe doe ik dat voor zencart?
wat ik ook probeer ik krijg het niet goed.

Ik zet in een los php bestand een if statement, afhankelijk van de keuze uit het uitklapmenu word dus de onderstaande code voor het sphider script of een ander stuk code voor zencart.
Nou moet ik erkennen dat ik de onderstaande code van de sphider site heb en dat ik niet helemaal snap hoe die werkt. ik neem aan dat ik een soort gelijke code voor zencart nodig heb die verwijst naar het zoekveld van zenkart ipv sphider.


voor sphider gebruik ik deze code:
HTML-code:
<form id="search" action="/../zoek/search.php" method="get">
   <fieldset style="border:0px; ">
<input type="text" name="query" maxlength="255" />
<input  type="hidden" name="search" value="1" />
<br />
<select name="zoek" id="zoek" class="">
  <option value="site">Informatie</option>
  <option value="webwinkel">Webwinkel</option>
</select>  

<a href="javascript:document.forms['busqueda'].submit()" onclick="return mySubmit()">
<input type="submit" value="Zoek" /></a>
</fieldset>
</form>
  Met citaat antwoorden
Oud 6 October 2011, 15:47   #12
anoniem14945
Guest
 
Berichten: n/a
Standaard

Allereerst moet je denk ik even realiseren dat je niet verwijst naar een zoekvak, maar naar een zoekscript. In dit geval verwijs je naar /../zoek/search.php. Voor zencart zul je moeten verwijzen naar het zoekscript van zencart.

De truuk is nu dat die url moet veranderen afhankelijk van of in de site of in de webwinkel gezocht moet worden. Maar hadden we hier niet al een ander topic over?

Afijn, de oplossing zit in een stukje javascript die de waarde voor "action" wijzigt afhankelijk van de waarde van "zoek". Het alternatief is het hebben van twee aparte zoek-formulieren met ieder hun eigen action.

Kijk ook eens naar jQuery UI Accordion. Als je nu twee van die 'accordions' neemt met in ieder één zoekformulier, dan heb je nooit twee zoekformulieren in beeld en hoef je verder niet te rommelen met het dynamisch wijzigen van de formulier-actie. Dit zou mijn voorkeur hebben, maar het is uiteraard jouw website.
  Met citaat antwoorden
Oud 12 October 2011, 16:53   #13
anoniem31645
Guest
 
Berichten: n/a
Standaard

Als ik de eerder genoemde code laat verwijzen naar het zoekscript van zen cart dan krijg ik de 404 error pagina.

Wat ik ook verander aan de link waarnaar word verwezen het lukt me niet om de link goed te krijgen.
De link die ik krijg als ik naar het zoekscript verwijs is:
http://www. (domein) .nl/webwinkel/includes/modules/search.php?query=hamer&search=1&zoek=site

De werkende link is:
http://www. (domein) .nl/webwinkel/includes/modules/search.php?query=hamer&search=1&zoek=site
  Met citaat antwoorden
Oud 12 October 2011, 18:26   #14
anoniem14945
Guest
 
Berichten: n/a
Standaard

Citaat:
Oorspronkelijk geplaatst door Sjoukito Bekijk bericht
Als ik de eerder genoemde code laat verwijzen naar het zoekscript van zen cart dan krijg ik de 404 error pagina.
Dan kan ik niet anders dan de conclusie trekken dat je niet naar het zoekscript van zen cart verwijst. Controleer het pad nog een keer en let op met het gebruik van ../, vooral als je zelf ook met submappen in de url werkt.

De twee urls die je geeft zijn identiek; was dat de bedoeling? Is wel een lelijke url voor een zoekpagina; kan me haast niet voorstellen dat die standaard is. Vergelijk die eens met http://demo.opensourcecms.com/zencar...=1&keyword=dvd (een demo zencart installatie).
  Met citaat antwoorden
Oud 13 October 2011, 18:08   #15
anoniem31645
Guest
 
Berichten: n/a
Standaard

Correctie, de werkende link is:

http://(domein).nl/webshopindex.php?main_page=advanced_search_result& search_in_description=1&keyword=hamer

Tot nogtoe heb ik nog geen oplossing gevonden.
  Met citaat antwoorden
Oud 13 October 2011, 20:09   #16
anoniem14945
Guest
 
Berichten: n/a
Standaard

Dan zou dit moeten werken:

HTML-code:
<form action="http://(domein).nl/webshopindex.php" method="get">
<input type="hidden" name="main_page" value="advanced_search_result" />
<input type="hidden" name="search_in_description" value="1" />
<input type="text" name="keyword" />
<input type="submit" value="Zoeken" />
</form>
Zoals je ziet totaal andere veldnamen dan voor Sphider, dus daar zul je op een of andere manier omheen moeten werken. Hetzij door domweg twee aparte formulieren te gebruiken, of door met javascript dynamisch de veldnamen en formulier-actie te wijzigen.
  Met citaat antwoorden
Oud 16 October 2011, 19:57   #17
anoniem31645
Guest
 
Berichten: n/a
Standaard

Kijk dat werkt gelukkig wel.

Nu nog het gedeelte wat de formulier acties enzo bepaalt werkend te krijgen.

Nou zat ik er aan te denken een formulier te maken waar men actie 1 of actie 2 kiest en het zoekwoord invoert.
Dan door op zoeken te klikken gaat dit naar een php scriptje welke aan de hand van een if statement voor actie 1 of 2 de informatie doorstuurt naar de html scripts zoals hier boven genoemd.

Zou dit wat zijn of zou javascript beter zijn, in javascript ben ik geheel niet thuis en ik zou dus niet weten hoe ik dat zou moeten doen.
  Met citaat antwoorden
Oud 16 October 2011, 20:45   #18
anoniem31645
Guest
 
Berichten: n/a
Standaard

Op deze website: http://www.gkc.nl/ staat een soort gelijke mogelijkheid om in verschillende informatie te zoeken.

de code die zij gebruiken is als volgt:

HTML-code:
	<div class="sidebar">
				    
				        <script language="javascript" type="text/javascript">
function gkcsearch(){
var searchRedirecturl;
var searchScope = document.getElementById('GKCDropdownSearch');
if(searchScope.value == 'DezeSite')
{
searchRedirecturl = 'http://www.gkc.nl/Zoeken/Pages/geavanceerdzoeken.aspx' + gkcbuildsearchquery('k');
window.location = searchRedirecturl;
}
if(searchScope.value == 'MediatheekGKN')
{
searchRedirecturl = 'http://www.groenkennisnet.nl/Pages/zoekresultaten.aspx' + gkcbuildsearchquery('q');
window.open(searchRedirecturl,'searchwindow');
}
}
function gkcbuildsearchquery(queryparamname){
var searchString = document.getElementById('GKCTextBoxSearch');
if(queryparamname == 'q') {
var searchquerystring = '?' + queryparamname + '=' + searchString.value.replace(/\s+/g, '%2bAND%2b');
} else {
var searchquerystring = '?' + queryparamname + '=' + searchString.value;
}
return searchquerystring;
}
function handlesbkp(e) {
var key;
if (window.event)
key = window.event.keyCode;     //IE
else
key = e.which;     //firefox
if (key == 13) {
document.getElementById('searchButtonGKC').click();
}
return (key != 13);
}

</script>

<div class="SearchBox"><div class="divSearchTextBox"><input name="GKCTextBoxSearch" type="text" id="GKCTextBoxSearch" class="css" size="18" onkeypress="return handlesbkp(event);" /></div><div class="divDropDownList"><select name="GKCDropdownSearch" id="GKCDropdownSearch" class="searchDropDownList">

	<option value="DezeSite">Deze Site</option>
	<option value="MediatheekGKN">Mediatheek</option>

</select></div><div class="divSearchButton"><input type="button" name="searchButtonGKC" value="Zoeken" onclick="gkcsearch();" id="searchButtonGKC" class="SearchButton" /></div></div>
  Met citaat antwoorden
Oud 16 October 2011, 21:53   #19
anoniem14945
Guest
 
Berichten: n/a
Standaard

Mag uiteraard ook in php als je dat liever hebt. De location -header is hier handig voor:

PHP-code:
<?php
if ($_POST['option'] == '1') {
    
header('Location:http://(domein).nl/webshopindex.php?main_page=advanced_search_result& search_in_description=1&keyword='.urlencode($_POST['zoekwoord']));
}
else {
    
header('Location:http://(domein).nl/zoek/search.php?search=1&query='.urlencode($_POST['zoekwoord']));
}
?>
Let wel even op dat je headers moet verzenden voor enige andere output naar de browser, dus geen echo's of lege regels (buiten <?php ?>) en dergelijke ervoor.
  Met citaat antwoorden
Oud 17 October 2011, 21:57   #20
anoniem31645
Guest
 
Berichten: n/a
Standaard

Ik moet zeggen dat ik van het gebruik van headers (dit soort headers) ook nog niet erg veel snap.

Ik heb nu dus 3 formulieren, 1 voor de keuze waar/wat het moet zoeken en 2 formulieren voor het zoeken in de 2 mogelijkheden.
Dit moet natuurlijk 1 formulier worden. Daarna moet het dus door de header worden verstuurd naar de juiste pagina (form action).

Heel simpel gezegd is dit dus wat ik nu heb:

PHP-code:
<?php
if ($_POST['zoekoption'] == '1') {
    
header('Location:http://(domein).nl/webshopindex.php?main_page=advanced_search_result& search_in_description=1&keyword='.urlencode($_POST['zoekwoord']));

}
else {
    
header('Location:http://(domein).nl/zoek/search.php?search=1&query='.urlencode($_POST['zoekwoord']));
}
?> 

 
<form name="form1" method="post" action="">
  <label for="zoekoption"></label>
  <select name="zoekoption" id="zoekoption">
    <option value="2">Informatie</option>
    <option value="12">Webwinkel</option>
  </select>
</form>

<form id="search" action="/../zoek/search.php" method="get"> 
    <fieldset style="border:0px; ">
<input type="text" name="query" maxlength="255" />
<input  type="hidden" name="search" value="1" />

<a href="javascript:document.forms['busqueda'].submit()" onclick="return mySubmit()">
<input type="submit" value="Zoek" /></a>
</fieldset>
</form>

    <form action="http://(domein).nl/webshop/index.php" method="get">
<input type="hidden" name="main_page" value="advanced_search_result" />
<input type="hidden" name="search_in_description" value="1" />
<input type="text" name="keyword" />
<input type="submit" value="Zoeken" />
</form>
  Met citaat antwoorden
Antwoord

Discussietools
Weergave

Regels voor berichten
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Forumnavigatie


Alle tijden zijn GMT +1. Het is nu 20:26.


Powered by vBulletin Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.