Skip to main content

Welkom bij Joomla!NL

Om alle mogelijkheden van dit forum te kunnen gebruiken, moet je je eerst registreren.

Vermeld in iedere vraag duidelijk:
  1. De versie van Joomla! 3.X die je gebruikt
  2. De volledige url van je website indien mogelijk.
  3. De versie van de extensie waar de vraag over gaat.

Aanpassen JHTML select.genericlist met onchange

Aanpassen JHTML select.genericlist met onchange

18 jul 2016 17:51 - 18 jul 2016 17:53
#1
Op het Virtuemart Forum vond ik informatie terug om een Custom Field aan te maken met opgave van verschillende varianten van virtuemart artikelen. Deze plugin heb ik geïnstalleerd en heb enkele kleine aanpassingen gemaakt zodat dit voor mij bruikbaar is.
Informatie over dit topic vind je hier

Hoe dit momenteel in gebruik is op onze site vind je hier .

Hierbij een voorbeeld hoe de parameters kunnen zijn :
Wit 1 lt@10
Wit 2 lt@18
Gekleurd 1 lt@12
Gekleurd 2 lt@20

Om één van de laatste struikelblokken te kunnen nemen om onze webshop af te werken zou ik op basis van de selectie die de gebruiker hiervoor maakt een custom veld 'Kleur' willen laten tonen. Ik heb hiervoor dus een customveld 'Kleur aangemaakt' welk ik bij de VM artikelen ga toevoegen waar dit nodig zal zijn. Als het woordje 'Wit' voorkomt in de selectie die de gebruiker gemaakt heeft dient het customveld 'Kleur' getoond te worden anders niet.

In mijn huidige webshop die werkt onder Joomla 2.5 heb ik dit destijds opgelost met BreezingForms. Zij bieden echter geen aangepaste versie meer voor Virtuemart 3.X waardoor ik alternatieven moet zoeken.

Na wat experimenteer werk ben ik wel zover dat ik hiervoor de functie onchange dien toe te voegen in de code waar de select.genericlist gecreëerd wordt. Momenteel heb ik dit als volgt aangepast :
Code:
$html = JHTML::_('select.genericlist', $selects,'customProductData['.$product->virtuemart_product_id.']['.$params->virtuemart_custom_id.']['.$params->virtuemart_customfield_id .'][custom_qvariant]','class=customqvariant onchange=alert(1)','value','text',$selects[0],false,true);

Zoals je ziet bij de onchange staat alert(1). Dit enkel maar bij wijze van test waardoor je kan zien dat als er een selectie gemaakt wordt door de gebruiker er een melding verschijnt op het scherm van alert(1). Er moet dus wellicht een functie gecreërd worden die aangeroepen wordt vanuit deze regel.

Ik wil gerust zelf probereren uit te zoeken hoe hiervoor één en ander geregeld moet worden maar heb het gevoel dat ik nu vast zit.
Kan je eventueel opgeven waar ik deze functie dien toe te voegen en hoe dit er ongeveer kan uitzien.

Alvast bedankt.
Laatst bewerkt 18 jul 2016 17:53 door Donamd.
Discussie gesloten.
  • Donamd
  • Donamd's berichtenfoto Heeft onderwerp gestart
  • Regelmatige bezoeker van Joomla!NL
  • Regelmatige bezoeker van Joomla!NL
  • Berichten: 269

Aanpassen JHTML select.genericlist met onchange

19 jul 2016 15:38 - 19 jul 2016 15:39
#2
Ik blijf het internet afzoeken om een voorbeeld te vinden hoe dit dient opgelost te worden.
Ik vermoed dat dit zeker geen onmogelijkheid is, alleen mijn kennis van Php niet voldoende is.
Wel wil ik hieruit leren maar vind niet het juiste pad.

Op deze link vind ik ook een deel terug dat vergelijkbaar is met mijn vraag. Alleen de vraag is hoe en waar wordt de code van 'YOURFUNCTION' opgegeven.
Code:
$lists['regionslist' ]= JHTML::_('select.genericlist', $regionslistx, 'City', 'onchange=\"YOURFUNCTION()\"', 'value', 'text', $lx );

Iemand nog een tip om mij verder op weg te helpen ?
Laatst bewerkt 19 jul 2016 15:39 door Donamd.
Discussie gesloten.
  • Donamd
  • Donamd's berichtenfoto Heeft onderwerp gestart
  • Regelmatige bezoeker van Joomla!NL
  • Regelmatige bezoeker van Joomla!NL
  • Berichten: 269

Aanpassen JHTML select.genericlist met onchange

19 jul 2016 16:31
#3
Ik heb de juiste wijze gevonden om de functie aan te roepen en eveneens de geselecteerde item op te vangen.
Voorlopig kan ik weer even verder en kom er op terug als ik het helemaal klaar heb of als er zich nog een bijkomend probleem zou voordoen.
Discussie gesloten.
  • Donamd
  • Donamd's berichtenfoto Heeft onderwerp gestart
  • Regelmatige bezoeker van Joomla!NL
  • Regelmatige bezoeker van Joomla!NL
  • Berichten: 269

Aanpassen JHTML select.genericlist met onchange

19 jul 2016 23:06
#4
Ik ga nog even verder in dit bericht voor het verder af te werken van deze plugin. Ik denk dat er nog 1 struikelblok is.

Op deze link zie je verschillende producten vermeld. Als je bij het eerste product een optie selecteert waarbij in de naam Gekleurd vermeld staat zal je zien dat er een input veld verschijnt op het scherm waar de kleur ingevoerd dient te worden. Verander je dit daarna terug naar wit, dan hoeft er geen kleur gekozen te worden en wordt het inputveld niet getoond. Tot dusver in orde.

Bij dit overzicht staan er echter meer dan 1 product op waardoor er een probleem ontstaat..
Hieronder staat de code zoals ik deze momenteel gebruik.
Je zal zien dat ik bij kleur_veld de parameter [0] heb toegevoegd welk verwijst naar het eerste product op het scherm, vandaar dat deze manier ook enkel maar lukt voor het eerste product.

Is er een mogelijkheid om te bepalen bij het hoeveelste product de selectie gedaan werd, zodat ik hiervan de parameter kan bepalen en gebruiken om aan te geven voor het hoeveelste veld de style naar visible of hidden dient aangepast te worden ?
Code:
function myFunction() { var verpakking = document.getElementById("VM_artikel").value; var gekleurd = verpakking.substring(0,8); var kleur_veld = document.getElementsByClassName("vmcustom-textinput"); var kleur_titel = document.getElementsByClassName("product-fields-title-wrapper"); if (gekleurd =="Gekleurd") { kleur_veld[0].style.visibility = "visible"; kleur_titel[1].style.visibility = "visible"; } else { kleur_veld[0].style.visibility = "hidden"; kleur_titel[1].style.visibility = "hidden"; } }
Discussie gesloten.
  • Donamd
  • Donamd's berichtenfoto Heeft onderwerp gestart
  • Regelmatige bezoeker van Joomla!NL
  • Regelmatige bezoeker van Joomla!NL
  • Berichten: 269

Aanpassen JHTML select.genericlist met onchange

20 jul 2016 07:47
#5
Indien ik een parameter zou mee kunnen sturen naar de functie zou dit een oplossing kunnen zijn.
Met volgende code ben ik aan het testen geweest, maar dit lukt voorlopig niet.
Hierbij het gedeelte in PHP waarbij de variabele bepaald wordt.
Voor het eerste artikel geeft krijgt de variabele $klas de waarde [1] [36][1977] toegekend.

Bij myFunction geef ik deze variabele mee tussen de haakjes.
Code:
$klas = '['.$product->virtuemart_product_id.']['.$params->virtuemart_custom_id.']['.$params->virtuemart_customfield_id .']'; $html = JHTML::_('select.genericlist', $selects, $klas,'class=customqvariant onchange="myFunction($klas)"','value','text',$selects[0],false,true);

Hier de functie :
Code:
function myFunction(test) { alert (test); }

Dit werkt dus niet. Als ik bij de parameter gewoon een getal bijvoorbeeld 2 in geef, zonder gebruik te maken van de variabele $klas, dan lukt het wel.

Hoe moet ik dit oplossen.
Discussie gesloten.
  • Donamd
  • Donamd's berichtenfoto Heeft onderwerp gestart
  • Regelmatige bezoeker van Joomla!NL
  • Regelmatige bezoeker van Joomla!NL
  • Berichten: 269
Moderators: JelleRomke
Tijd voor maken pagina: 0.893 seconden
Gemaakt door Kunena

Wil je Joomla!NL steunen?

Steun Joomla!NLAlle teamleden werken enthousiast, op vrijwillige basis, mee aan Joomla!NL. Maar een website met forum kost nu eenmaal geld. Dus als je Joomla!NL wilt steunen, dan kan dat, graag zelfs!

Lees hier meer informatie