Posts from the ‘Scripts’ Category

Meerdere gebruikers, 1 website, verschillende opties (WordPress)

Dit is een belangrijk concept en iets dat een webdeveloper in veel situaties nodig heeft: een website die de mogelijkheid biedt aan andere gebruikers (klanten) om zelf een website te onderhouden of te bouwen. Nu lijkt dat makkelijk te realiseren met een (open source) CMS maar algemene probleem lijkt mij dat medegebruikers standaard dezelfde mogelijkheden hebben als de administrator en de andere gebruikers. Bijvoorbeeld: zowel bij Joomla als WordPress hebben mede gebruikers beschikking over dezelfde templates en thema’s als de andere gebruikers. Het is nog niet zo makkelijk om verschillende gebruikers binnen 1 website, verschillende websites te laten bouwen en te onderhouden. Dewebmeester.nl onderzoekt de mogelijkheden en de beste worden op de markt gebracht. Deze week is dat het concept van http://www.mobilewebbuilder.nl : een website waar verschillende gebruikers allemaal verschillende mobiele websites kunnen maken en onderhouden.

In mijn vorige blogpost heb ik aandacht gegeven aan een mogelijkheid om een WordPress plugin beschikbaar te stellen aan andere gebruikers zonder hen toegang tot thema’s of posts van anderen te geven. Dat kan werken voor bepaalde plugins maar zal niet voor alle plugins even makkelijk werken. En in het geval van http://www.mobilewebbuilder.nl (www.mobielesitebuilder.nl) leidde dit niet tot een afdoende oplossing. Want de bedoeling is dat een gebruiker een unieke mobiele website maakt en onderhoudt, via de CMS publiceert en dat die website door een andere gebruiker uiteindelijk niet te bewerken is. En indien elke gebruiker toegang krijgt tot dezelfde plugin (een Mobiele Site Builder plugin), dan zijn die websites door alle andere gebruikers binnen de dashboard via de plugin te benaderen en aan te passen. Dat moet niet.

De oplossing (en ook voor veel andere gelijkende problemen)

De oplossing heeft “Multisite”. Deze optie kan tijdens de installatie van een WordPress geactiveerd worden of eventueel later (zie bijvoorbeeld deze blogpost). De Mulisite optie lost eigenlijk al onze problemen op zoals hierboven uitgelegd. Deze optie maakt ook de “Hack” zoals genoemd in de vorige blogpost onnodig. Dat is mooi omdat we nu geen files hoeven aan te passen (en opnieuw moeten aanpassen na elke update van de plugin). Maar we hebben nu wat andere problemen.

Wat is opgelost:

  1. elke gebruiker heeft een eigen dashboard en geen toegang tot dashboard van andere gebruikers
  2. dus elke gebruiker heeft alleen toegang tot posts van zichzelf en niet van anderen
  3. elke gebruiker heeft toegang tot plugins.

Nieuwe problemen:

  1. elke gebruiker heeft toegang tot alle templates en thema’s en dat lijkt me wat teveel luxe.
  2. elke gebruiker heeft toegang tot alle geactiveerd plugins en ook dat is wat teveel luxe.

Vandaag los ik alleen dit eerste probleem op: ik wil binnen de hoofdwebsite (http://www.mobilewebbuilder.nl) een mooi premium design installeren en kies hiervoor WowWay. Maar vervolgens kan elke medegebruiker (elke klant) ook gebruik maken van dit thema zonder deze template te hoeven kopen en dus zonder een gebruikers licentie te hebben. Nee, dat wil ik niet. De oplossing is de volgende code in wp-config.php:

define(‘WP_DEFAULT_THEME’, ‘wowway’);

Vervolgens activeer ik de template voor het hele netwerk, ga naar dashboard van eigen website en activeer dit thema. Daarna ga ik teru gnaar Network dashboard en deactiveer ik het thema voor het netwerk. Probleem opgelost: mijn eigen site heeft een mooi design, de andere gebruikers hebben niet de beschikking gekregen over dit thema maar kunnen wel aan het werk met de Mobiele Sitebuilder.

Foto album met preview afbeeldingen bij mouse on hover zoals op Facebook…..

Nou, deze blogpost lijkt mogelijk op Arabisch meer de functie is dat ik hier mijn gedachten en ideeen probeer weer te geven betreffende een opdracht in de hoop dat ik dit opdracht succesvol zal kunnen uitvoeren:

Opdracht: klant heeft WordPress website en een leuke gallery via een gallery plugin. Nu is hij daar niet tevreden mee. Hij wil extra functionaliteit. De home pagina van de gallery toont een aantal categorieen. Die kunnen we beschouwen als fotoalbums over een bepaald onderwerp. Hij wil dat als de bezoeker met zijn muis over de voorkant van dit fotoalbum beweegt, dat dan automatisch, achter elkaar, een preview getoond wordt van de afbeeldingen binnen dat fotoalbum. Nee, niet onmogelijk. Maar wel moeilijk. Om het nog leuker te maken heeft hij een voorbeeld: de weergave van de fotoalbums in Facebook.

Spioneren van de code binnen Facebook
Dat doe ik meestal: even spieken binnen de code van de website waar de klant het voorbeeld gevonden heeft. Facebook in dit geval. Wat zie ik:

<div id=”u_0_3b” class=”_30l”><span id=”u_0_2f” aria-label=”Photo” class=”uiMediaThumb _30m uiMediaThumbMedium” style=”opacity: 0;”><i class=”uiMediaThumbImg” style=”background-image: url(http://sphotos-a.ak.fbcdn.net/hphotos-ak-ash3/p206x206/530465_10151320424569284_27191678_n.jpg);”></i></span><span id=”u_0_2g” aria-label=”Photo” class=”uiMediaThumb _30m uiMediaThumbMedium” style=”opacity: 0;”><i class=”uiMediaThumbImg” style=”background-image: url(http://sphotos-d.ak.fbcdn.net/hphotos-ak-snc6/p206x206/603007_10151320424504284_10063898_n.jpg);”></i></span><span id=”u_0_2h” aria-label=”Photo” class=”uiMediaThumb _30m uiMediaThumbMedium” style=”opacity: 0;”><i class=”uiMediaThumbImg” style=”background-image: url(http://sphotos-f.ak.fbcdn.net/hphotos-ak-ash4/p206x206/318068_10151320424509284_1098475204_n.jpg);”></i></span><span id=”u_0_2i” aria-label=”Photo” class=”uiMediaThumb _30m uiMediaThumbMedium” style=”opacity: 0;”><i class=”uiMediaThumbImg” style=”background-image: url(http://sphotos-c.ak.fbcdn.net/hphotos-ak-ash3/p206x206/582526_10151320424494284_1473985989_n.jpg);”></i></span><span id=”u_0_2j” aria-label=”Photo” class=”uiMediaThumb _30m uiMediaThumbMedium” style=”opacity: 1;”><i class=”uiMediaThumbImg” style=”background-image: url(http://sphotos-b.ak.fbcdn.net/hphotos-ak-prn1/p206x206/47666_10151320427084284_424829715_n.jpg);”></i></span></div>

Mooie code maar de vraag is nu waar die naartoe verwijzen. Oftewel: in welke file of binnen welk script staat bijvoorbeeld het volgende gedefinieerd?:

class=”uiMediaThumb _30m uiMediaThumbMedium”

Nee, lijkt me op zich niet erg relevant. Dit is tenslotte verwijzing naar css code en betreft niet een script. Code geeft alleen de output weer van het script. Maar welk script genereert deze output? Maar even googlen op: “load preview images mouse on hover”. Geen succes. Of: “how to have images load on mouse over in wordpress plugin”. Veel informatie, nog geen antwoorden.

Mijn test op jsfiddle.com

Openen video’s van youtube in Lightbox binnen WordPress slider

Vandaag bijt ik mijn tanden in een nieuwe opdracht van tweaky.com: De klant wil dat video’s geopend worden in een Lightbox binnen dezelfde pagina. Het probleem lijkt me dat de video al geintegreerd is in een slider en niet in een bericht. Mijn stappenplan:

  1. – plugin lightbox video installeren (WP Video Lightbox)
  2. – testen binnen een WordPress bericht
  3. – code controleren en kijken of dit te integreren is in slider. Deze slider is overigens onderdeel van de template en heeft een eigen beheerspanel en de klant wil natuurlijk het beheer over deze video’s binnen dit beheerspanel behouden. Kortom: ik moet niet teveel in de broncode gaan veranderen maar zoveel mogelijk werken binnen bestaande admin panel van WordPress.

Na stap 1 ga ik eerst naar de support pagina van deze plugin: http://www.tipsandtricks-hq.com/wordpress-video-lightbox-plugin-display-videos-in-a-fancy-lightbox-overlay-2700#!prettyPhoto . Daar vind ik een demonstratie van de werking van de plugin en kijk via Firebug naar de code (mogelijk kan ik stap 2 overslaan?) en dan zie ik dit:

<!—<a title=”” href=”” rel=”wp-video-lightbox”><img class=”video_lightbox_anchor_image” alt=”” src=”http://www.tipsandtricks-hq.com/wp-content/uploads/2010/08/wp-video-lightbox-demo.png“></a>—>

Deze code plak ik in een Notepad+ document om te bestuderen.

Binnen de slider applicatie is een mogelijkheid om aan te geven welke image getoond moet worden en waar die image bij klikken naartoe moet leiden. Image laat ik staan en als link plaats ik de YouTube video link. Vervolgens moet ik de rel=”wp-video-lightbox” nog ergens plaats. Ik probeer die te plaatsen naast de link binnen de slider applicatie maar zonder succes. In Firebug houd ik bij hoe de code verandert en ja, ik zie de link en zelfs rel= maar code wordt toch steeds weer door elkaar gegooid door de slider applicatie. Toch maar naar de broncode van de slider?
Ook dat probeer ik. Dat had moeten werken maar kan niet goed bepalen waar ik de — rel=”wp-video-lightbox” –moet plaatsen.

De oplossing
Tjonge wat ben ik dan weer blij als het lukt. Deze keer heeft het me 2 uur gekost. Oplossing lijkt simpel: bij de slider is er een optie om een “Caption” te plaatsen. Met een beetje geluk betekent dit dat er plaats is om html te plaatsen. En dus plaats ik de hele link, inclusief rel=”wp-video-lightbox” in de Caption (de titel, of eventueel in de beschrijving). Dat ziet er zo uit:

<a href=”” rel=”wp-video-lightbox”> <em><font face=”times new roman,times,serif” size=”6″>Click to Play</font></em></a>

Het resultaat is een mooie link onderaan de foto die getoond wordt met de titel “Click to Play” en bij klikken hierop wordt de video geopend in een mooie Lightbox overlay. Zie: http://www.speedvertu.com
Hartelijke groeten.
Ook interesse in het openen van video’s in Lightbox? Neem even contact op me:— info —

Javascript toevoegen aan blog posts (berichten) en pagina’s WordPress

Nee, dat is standaard niet mogelijk volgens WordPress. Zie bijvoorbeeld: http://codex.wordpress.org/Using_Javascript Ja, het is blijkbaar toch mogelijk en daarvoor is niet eens een aparte plugin nodig. Stel ik ga naar een bericht of ik maak een nieuw bericht aan in WordPress en vervolgens schakel ik naar html view, plak het script (chat, webshop API of in dit geval: een javascript clickable map) binnen de html code, sla bericht op en bekijk bericht. Resultaat is: niets….. Want alle javascript code wordt gefiltert en geschrapt door de WordPress editor. Maar vandaag ontdek ik een simpele oplossing:

Script plaatsen in html widget en html code in bericht of page code
Ik plaats een nieuwe html widget binnen (bijvoorbeeld) de sidebar en plak daarin het script. Ja, nu werkt het wel maar wordt de code mogelijk niet op de juiste plaatst geactiveerd. Nee, we willen echt binnen een bericht de code laten zien. Geen nood. Na activeren van deze html widget (inclusief <head> script) plaats ik de html code die bepaalt hoe en waar mijn applicatie getoond moet worden, binnen de html van het nieuwe (of oude) bericht en vervolgens publiceer ik dit. En ja, nu verschijnt de javascript applicatie binnen het bericht. Logisch: de code uit de widget (sidebar) is oproepbaar binnen de pagina en kan niet door de editor gestript worden.

Niet simpel? Wilt u liever dewebmeester.nl dit laten doen? Stuur dan even een email naar info@dewebmeester.nl
Groeten!

Online uitpakken (unzip) op eigen server

Probleem (uitdaging): Ik wil een website installeren op een online server en de ontwerper stuurt een compleet .zip bestand. Prima. Ik kan dit gaan uitpakken, alle bestanden uploaden en verdere aanpassingen doen. Maar dit uploaden kan zo maar een half uur duren omdat een complete Joomla installatie inclusief design en extensies meer dan 10.000 files kunnen bevatten. Filezilla is daar we even mee bezig. Ik wil snel omdat ik bijvoorbeeld liever tien demonstratie websites installeer in plaats van een half uur te wachten op Filezilla.

Mogelijkheid 1: gebruik de uitpak functies van hosting account

Image representing cPanel Inc as depicted in C...

Image via CrunchBase

Cpanel of andere admin panels van een hosting account hebben bijna altijd wel deze ingebouwde functie. De uitpak (unarchive) functie zit bij sommigen verstopt in de filemanager maar ik zie ook wel eens een aparte “Archive Gateway”. Dat werkt meestal wel redelijk. Maar vandaag niet.

Mogelijkheid 2: een php script
En de meest simpele en erg efficiente (binnen een halve minuut waren deze 10.000 bestanden netjes uitgepakt op de server en ik hoefde dus alleen het .zip bestand te uploaden) is: http://www.phoca.cz/phoca-server-unzip , de unzip tool van Phoca. Ik kende Phoca van Phocagallery voor Joomla en dat is een prima gallery tool. En deze unzip tool blijkt ook prima te werken. Nee, niet direct. De map (tool_phoca_server_unzip) met de paar bestandjes moeten worden geupload naar de server binnen de map waar ook het .zip bestand zich bevindt. Vervolgens surf ik met Firefox naar deze map (http://www.mijnwebsite.nl/mapmetzipbestand/tool_phoca_server_unzip/ ) en ik krijg een aantal errors. Waarom? Geen idee. Ik pas wat permissies aan via Filezilla en schoon de cache op van de browser, Ctrl F5 en de tool werkt. Hier kan ik de FTP laag inschakelen (en ondertussen zie ik dat de tool het .zip bestand al gevonden heeft) en dat doe ik niet. Ik schakel de laag uit via FTP laag = 0 en klik op “unzip”. Vervolgens wacht ik een twintigtal seconden en alle bestanden worden netjes uitgepakt.

Tjonge dat scheelt! Bedankt Phoca voor deze GRATIS tool.

Ir. Meindert A. Jorna (Msc.)

Savornin Lohmanstraat 45

6702BN Wageningen

☎ 0317 795149

Mob. 06 412 86716

☒ info

www.dewebmeester.nl

My profiles: facebook.png Facebook linkedin.png LinkedIn flickr.png Flickr twitter.png Twitter

pixel.png?p=mozilla&v=3.11.21&t=1359477781749&u=99a41a321fc9370a

Frustratie: een simpele Facebook like button op een WordPress website

Tjonge, wat kan iets simpels soms moeilijk te realiseren zijn. Een Facebook Like button bijvoorbeeld binnen een WordPress website.

Om een Faceboot button te plaasten binnen een (gewone) website, is het aan te raden de developers versie te gebruiken die door Facebook zelf onderhouden wordt:
http://developers.facebook.com/docs/reference/plugins/like/ Makkelijk te maken en niet moeilijk te integreren. Voor een WordPress website denk je al snel aan een kant en klare plugin of widget. Ja die zijn er genoeg: “Facebook button plugin” of “Facebook widget”of “Facebook likebox”. Zie de onderstaande afbeelding:

Zo, wat is dan het probleem? Het probleem is dat het niet werkt. Of de layout is niet goed, of er wordt niets getoond of de button werkt niet. Ja, de eerstgenoemde in de afbeelding (“Facebook”) lijkt te werken. Ja die werkt. Enige probleem is mogelijk dat ik even geen optie kan vinden om de button gewoon binnen een widget te laten verschijnen. Ook worden “faces”niet getoond en is het vrij ingewikkeld om de applicatie te laten werken want: er moet eerst een Facebook applicatie aangemaakt worden en gekoppeld worden aan applicatie domein etc. Het LIJKT te werken want na klikken op “like”, krijgt de like button counter + 1 maar deze like is vervolgens niet terug te vinden op mijn profiel in Facebook. Dat zou toch moeten?

Uiteindelijk val ik weer terug op de standaard Facebook developers code: http://developers.facebook.com/docs/reference/plugins/like/ , maak de parameters aan en plaats gegenereerde code binnen een html widget. Ja, de button wordt netjes getoond. Nee, de button werkt niet. De send button lijkt overigens wel prima te werken. Tenminste iets. Probeer de script code van Facebook te plaatsen achter <body> tag van header.php maar dat verandert niets. Helaas. Nog steeds niet naar behoren opgelost. Maar moet nu eerst even werken aan belastingaangifte voordat ik hier mee aandacht aan kan geven. Reacties, adviezen en andere commentaren zijn gewenst.

Aanvulling: twee problemen ontdekt

En zo heb ik tenminste alweer twee problemen opgelost:

1) De Facebook pagina id was fout. Die is op zich makkelijk te vinden door naar de pagina te gaan en op de timeline foto of profiel foto te klikken. Dan verschijnt er in de browser iets als: http://www.facebook.com/photo.php?fbid=424986770863567&set=a.424986767530234.107018.139250686103845&type=1&theater waarbij het laatste getal de facebook pagina id is, in dit geval: 139250686103845

2) De klant blijkt nog helemaal geen Facebook pagina te hebben en zijn profiel pagina aan mij doorgegeven te hebben. Nee, voor profielpagina’s kun je geen “likes”verzamelen omdat het geen pagina is. Dus wel eerst even een pagina aanmaken.

facebook logo

facebook logo (Photo credit: marcopako )

Marktplaats of Speurders website deel 2

Deze blogpost is een vervolg op blogpost: https://dewebmeester.wordpress.com/2012/11/07/een-marktplaats-nl-website-de-mogelijkheden-prijzen-en-andere-adviezen/ (deel1)

Idee: marktplaats.nl is een populiare website en een populair website idee. Bezoekers kunnen hier niet alleen spullen kopen (= webwinkel / webshop) maar kunnen ook zelf spullen plaatsen en verkopen. De beheerder van de website verdiend niet met de verkoop van spullen maar met de verkoop van advertentie mogelijkheden. Kortom: de bezoeker doet het werk en de beheerder krijgt automatisch verdiensten. Maar welke mogelijkheden zijn er (= biedt dewebmeester.nl) om zelf zo’n website te hebben en te beheren?

Deel 2: Marktplaats/ Speurders website binnen Joomla
De test en demonstratie website: http://decmsmeester.nl/speurders/
Op deze website heb ik “simpelweg” een marktplaats component geinstalleerd. Om die component zichtbaar te maken op de voorpagina (zodat bezoekers er mee kunnen werken), is er een apart menu aangemaakt (ads menu) waarbij de linken koppelen naar de verschillende mogelijkheden van dit marktplaats script.
Zie afbeelding:

Daaronder een extra menu item in Main Menu met de optie “Buy Credits”. De bezoeker kan Credits kopen om zo advertenties te mogen plaatsen. Het verdienen kan beginnen. Verder zijn er natuurlijk allerlei modules verwerkt om de producten leuk en mooi zichtbaar te maken op de voorpagina. Mogelijk belangrijk voor u:
Mocht u een eigen Speurders.nl of Marktplaats.nl website hebben? Dan kan dit makkelijk geintegreerd worden in elke bestaande Joomla website. Daarvoor hoeft u niet een nieuwe Joomla website te laten ontwerpen. Dat kan wel. Op http://www.dewebmeester.nl/joomla-design.html heeft u de keus over honderden zeer professionele Joomla designs voor een kleine prijs. Integratie van het marktplaatsscript in een Joomla website kost via dewebmeester.nl 99 Euro.
Reageren kan via deze blogpost (te vinden op www.dewebhulp.nl) of via email: info@dewebmeester.nl

De volgende blogpost over dit onderwerp gaat over integratie van een marktplaats script in een WordPress website.

Testen website voor wide screen en aanpassen achtergrond afbeelding

Bij het maken van een website moet de website getest worden in meerdere browsers maar ook binnen meerdere schermresoluties. Nu heeft de ontwikkelaar niet altijd de beschikking over een rij computers of monitoren en dat is natuurlijk ook geen makkelijk optie. Wat betreft het testen binnen verschillende monitoren zijn de volgende mogelijkheden beschikbaar:

  1. Firefox addon “Firesizer”: Niet handig omdat de computer monitor een limiet heeft (bijvoorbeeld 1280px) en testen in widescreen daarmee onmogelijk is.
  2. De webdeveloper extensie “resize” van Firefox: zelfde probleem als onder 1
  3. De Ctrl + en Ctrl – knoppen: simpele en meest effectieve optie wat mij betreft. Zo vergroot ik de monitor weergave niet maar verklein ik de website weergave en daardoor krijg ik de website toch te zien zoals hij op een wide screen getoond wordt.

Vervolgens kan ik de grootte van de background image aanpassen en testen. Natuurlijk wil ik een dynamische grootte. Oftewel: grootte wordt gepaald door de monitor waarmee de bezoeker de website bezoekt. Achtergrond afbeelding moet getoond worden over hele scherm. Of dit scherm nu 800px x 600px of 2400px breed is. Uitgangspunt is gebruikte css. De nieuwe standaard laat volgende code toe:

background-size: cover;

Maar helaas, als ik die vermelding plaats binnen huidige css file dan werkt dat niet. Wat wel werkt:
Website openen in Firefox en element inspecteren met Firebug. [background-size: cover;] toevoegen aan css binnen Firefox en resultaat bekijken via Ctrl+. Als het goed is werkt het nu wel. Vervolgens kopieer is de gehele achtergrond vermelding naar de vermelding binnen originele css file:

#footer {
background-attachment: scroll;
background-clip: border-box;
background-color: #0A546B;
background-image: url(“../images/footer.jpg”);
background-origin: padding-box;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
clear: both;
color: #FFFFFF;
margin: -50px 0 0;
min-width: 1200px;
overflow: hidden;
padding: 80px 0 0}

Firefox heeft de hele achtergrond / background css vermeldingen voor de positie #footer aangepast aan de browserstandaard en daarmee is volgens mij Firefox / Firebug de beste (en gratis) html editor die er bestaat. Toch?
Wilt u de layout van uw website laten aanpassen? dewebmeester.nl rekent per “tweak” 10 Euro maar soms kunt u gebruik maken van speciale acties waardoor “tweaks” te koop zijn vanaf 5 Euro. Volg dewebmeester.nl om op de hoogte te blijven:

Ir. Meindert A. Jorna (Msc.)

Savornin Lohmanstraat 45

6702BN Wageningen

☎ 0317 795149

Mob. 06 412 86716

☒ info: www.dewebmeester.nl

My profiles: facebook.png Facebook linkedin.png LinkedIn flickr.png Flickr twitter.png Twitter

pixel.png?p=mozilla&v=3.11.21&t=1352372387225&u=dbb866711fc9370a

Aanpassen layout Joomla module

Het aanpassen van de layout van een Joomla module lijkt een eenvoudige zaak met Firebug. Maar bij aanpassen van de css file behorende bij de module, is de kans groot dat ook de layout van andere modules aangepast worden terwijl dat mogelijk niet te bedoeling is. Dat is zeker het geval als de css verwijzingen verstopt zitten in bijvoorbeeld een style.css file of template.css file. Als de module een eigen css file heeft, dan is het inderdaad niet moeilijk om de layout aan te passen.

De makkelijkste manier
Het makkelijkste lijkt mij op dit moment om in “advanced options” binnen modulebeheer (binnen Joomla administrator) de “Module Class Suffix” aan te passen.
Dat gaat als volgt:
Ga naar modulebeheer in Joomla en open de module waarvoor de layout aangepast moet worden.
Open de stylesheet waarnaar deze module verwijst (via Filezilla en Notepad+)
Kijk via Firebug welke layout verwijzing aangepast moet worden
Ga terug naar de geopende stylesheet (css file) en zoek via “search” naar de verwijzing
Kopieer de div class en plaats die daar direct onder; Bijvoorbeeld:

#footer .moduletable h3.mod-title {
color: #800040;}

#footer .moduletable h3.mod-title {
color: #800040;}

Nu passen we de tweede verwijzing aan en maken een nieuwe div class. Bijvoorbeeld:

#footer .moduletable h3.mod-title {
color: #800040;}

#footer .moduletable2 h3.mod-title {
color: #FFFFFF;}

We schakelen weer terug naar de geopende module in modulebeheer en plaatsen aan de rechterkant onder “advanced options” in de “Module Class Suffix” de div class: moduletable2 en slaan de module op. Zie afbeelding:

Resultaat is dat de header van de bewuste module een h3 grootte hebben (dat hadden ze al) en dat de kleur is veranderd naar wit. Nu is het makkelijk om voor elke module de header aan te passen in wit.
Tot zover. Wilt u ook de layout van uw Joomla website laten aanpassen? Vraag info@dewebmeester.nl naar mogelijkheden.
Groeten!

php begrijpen en aanpassen.in Virtuemart categorie weergave

PHP is echt zo’n geheimtaal die duidelijk maakt dat woorden kracht in zich hebben. PHP taal zet zaken in beweging en daarom zijn webpagina’s die opgemaakt zijn met PHP “dynamische websites”. Een Joomla website dus ook en daarmee ook de Joomla component Virtuemart. Wat we zien binnen Virtuemart wordt bepaald door de PHP code. Vandaag heb ik binnen die code wat moeten aanpassen om gehoor te geven aan de wens van een klant.

De wens: bij de categorieweergave (alle producten binnen 1 categorie), openen de afbeeldingen zich in een lightbox popup. Onder elke afbeelding staat ook een link en daaronder een button en als je daar op klikt opent zich de product details pagina van het betreffende product. Teveel verschillende acties wat betreft de klant. De klant wil het omdraaien: bij klikken op een product afbeelding moet de klant doorverwezen worden naar de bijbehorende product details pagina en die link en button onder de afbeelding wil hij weghalen.

HTML ten opzichte van PHP: Hier wordt het grote verschil in karakter duidelijk wat betreft de taal “HTML” en de taal “PHP”. Binnen een HTML pagina zouden we gewoon een hyperlink plaatsen om de afbeelding heen en die link en button daaronder weghalen. Klaar. Dat lijkt simpel maar dat is niet simpel als je dit voor duizend artikelen handmatig moet doen. Daarvoor bestaat PHP. Je past 1 maal de PHP code aan en elke keer als een product categorie pagina wordt opgevraagd door de bezoeker, wordt die automatisch aangepast.

Maar hoe?
Originele PHP code (snippet) wat betreft het tonen van de miniatuurafbeelding en openen van de afbeelding in een lightbox popup:

<?php /** @todo make image popup */
echo $product->images[0]->displayMediaThumb (‘class=”browseProductImage” border=”0″ title=”‘ . $product->product_name . ‘” ‘, TRUE, ‘class=”modal”‘);
?>

Duidelijk: php is de taal, wordt die aangeroepen dan is de respons (de echo): “laat wat betreft het product ($product) een image zien en van die image alleen de verkleinde afbeelding (displayMediaThumb) en wel op deze manier (class): graag geen “border”, de titel is weggelaten maar kan worden ingevuld, met mogelijkheid het product ppnieuw te tonen maar nu ook de naam van het product en wel op deze manier (class):via een popup (gedefinieerd in css class “modal”). Deze mpgelijkheid kan je aanzetten (TRUE) of uitzetten (FALSE). Dus mijn eerste stap was om deze popup mogelijkheid op FALSE te zetten. Resultaat: nog steeds een overzicht van alle productafbeeldingen binnen een categorie maar achter de afbeelding zit nu geen link en geen popup mogelijkheid meer.

Maar ik wil wel een link achter de afbeeldingen en dat doe ik door de code aan te passen:
Nieuwe PHP code (snippet) wat betreft het tonen van de miniatuurafbeelding waarbij de bezoeker kan klikken op de afbeelding waarna de product details afbeelding van bijbehorend product geopend wordt:

<?php /** show image and link to product details page */
echo JHTML::link ($product->link, $product->images[0]->displayMediaThumb (‘class=”browseProductImage” border=”0″ title=”‘ . $product->product_name . ‘” ‘, FALSE, ‘class=”modal”‘));
?>

In gewoon Nederlands: de taal is php en bij opvragen is de respons (echo): maak een link (JHTML::link) en toon het product als zijnde een link ($product->link) maar ook de afbeeldingen op zo’n manier dat alle product afbeeldingen van een categorie als thumb worden afgebeeld. Belangrijk hierin zijn de “haakjes” (); De snippet moet hier afsluiten met een dubbele )) want het betreft een wens binnen een wens (of eerder een opdracht binnen een opdracht). De link die aangemaakt moet worden betreft alles wat tussen de haakjes staat terwijl de tweede set haakjes betrekking heeft op hoe de afbeelding die deze hyperlink omvat, getoond moet worden.

Afronding:
Vervolgens is het makkelijk om de bestaande link en button te verwijderen. Ik besluit de code tussen <!– en –> te zetten en daarmee te deactiveren. Zo kan die link en button makkelijk weer geactiveerd worden.
Vervolg:
Ik zal een aparte (WordPress) website opmaken waarin in alle “snippets” plaats die genoemd worden op dit blog zodat ze altijd makkelijk zijn terug te vinden. Nieuws volgt als die website online gaat. Groeten en stuur vragen op naar info@dewebmeester.nl
Meindert Jorna

p.s.: Inmiddels is de Snippet website aangemaakt en is te bekijken via www.decmsmeester.nl/snippets

p.s.: Snippets die genoemd worden binnen dit blog kunnen nu ook gevonden worden op www.kladblokje.tk of www.hetkladblok.tk

%d bloggers liken dit: