Posts tagged ‘aanpassen layout’

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

Aanpassen menu stijl / layout / css van weebly design

Dit is een vervolg op een vorige blogpost over het importeren van een html website in de online Weebly website builder. Dit importeren is prima gegaan en vervolgens heb ik een aantal zaken aangepast. Heel belangrijk: de {menu} en {content} tags zijn geplaatst en menu en content worden op de juiste plaats weergegeven. Maar wat te doen als ik de layout (stijl) van het menu wil aanpassen? Genoemde voorbeelden hebben betrekking op http://timmerbedrijfstraatman.weebly.com/ , de website die ontstaan is vanuit een PSD file die klant heeft aangeleverd. Zie link.
1) Waarbinnen staat de tag {menu}? In mijn geval binnen een <div id=””> container die betrekking heeft op de achtergrond afbeelding (afbeelding die achter het menu zichtbaar is. Helemaal ok want deze div container bepaald de positie van de afbeelding (div container is geimporteerd bij importeren van het html / css design) en door de {menu} tag binnen deze container te plaatsen (in de index.html file) wordt het menu weergegeven op dezelfde positie als de afbeelding en is de afbeelding dus een achtergrond afbeelding geworden.
2) Wens van de klant is om menu rechts uit te lijnen. In de main_style.css file van weebly
3) Conclusie is dus: de {menu} tag heeft geen eigen stijl definiering en moet een unieke <div class=””> of <div id=””> krijgen om aanpassingen te kunnen doen. Ik ga daartoe naar weebly.com, log in en ga naar de te bewerken website. Kies “all themes” en kies een design waar de menu weergave enigszins overeen komt met de gewenste weergave. Ik bekijk de css / html en kopieer alle relevante css en html code naar Notepad+; Interessant is dat de index.html file slechts 1 menu verwijzing kent terwijl de css file 9 #pietjepuk stijl definities laat zien. Maar alleen de #avmenu definiering is terug te vinden in de index.html file via

<div id=”avmenu”>{menu}</div>

4) Deze code plak ik in oorspronkelijke design (waarvan ik de menu layout wil aanpassen). Oftewel: <div id=”avmenu”>{menu}</div> plaats ik waar nu alleen nog {menu} staat en de nieuwe css verwijzingen plak ik in de main_style.css file (via weebly.com dus eerst weer terug schakelen naar het aan te passen design.). Gebruikte code:

/* side-nav
——————————————————————————–*/

#avmenu {
clear: left;
float: left;
width: 200px;
margin: 0;
font-size: 17px;
}

#avmenu ul {
list-style: none;
width: 200px;
margin: 0;
padding: 0;
}

#avmenu li {
list-style: none;
padding: 0 0 4px;
}

#avmenu li a {
line-height: 1;
text-decoration: none;
color: #878787;
font-family: “Glegoo”, “Myriad Pro”, Arial, Helvetica, sans-serif;
font-size: 14px;
display: block;
padding: 10px 5px 12px 22px;
border: none;
}

#avmenu li#active a,
#avmenu a:hover {
color: #fff;
background: #8fc563;
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
}

/* Navigation Drop-Down Menu Customization
——————————————————————————–*/

#wsite-menus > .wsite-menu-wrap {
margin-left: -20px !important;
}

#wsite-menus .wsite-menu li a {
padding: 6px 15px 7px 15px;
background: #8fc563;
border: none;
border-bottom: 1px solid #abd986;
text-decoration: none;
font-family: Tahoma, Geneva, sans-serif;
color: #fff;
}

#wsite-menus .wsite-menu li a:hover {
color: #fff;
background: #6ca33f;
}

5) Perfect. Nu heb ik een menu wat enigszins overeenkomt met het gewenste menu maar belangrijker: ik heb nu een menu wat volledige is aan te passen via de stylesheet (main_style.css). Oftewel: nu kan ik aanpassingen doen door bijvoorbeeld via Firefox en Firebug de code te bekijken en in Notepad+ aan te passen.
Groeten en laat weten of dit helpt of als je aanvullingen hebt.

%d bloggers liken dit: