Zoekwoorden maken van je tags

Gepost op 12 november 2009 om 14:00u, door hiranthi | geen reacties | reageren

Deze post is deel 2 van 5 in de serie "Shopp custom templates bewerken"
GD Star Rating
loading...

Wil je je tags net zo weergeven als op veel stockfoto websites? Met andere woorden: een checkbox voor elke tag en de aangevinkte tags gebruiken als zoekwoorden. Dat kan! :)

:!: Waar je van tevoren wel rekening mee moet houden: Shopp zoekt momenteel nog niet in de tags die zijn toegewezen aan een product (alleen titel, omschrijving en inhoud). Om er dus voor te zorgen dat de zoekwoorden ook op de tags werken (lees: resultaten oplevert met producten die ook die tag(s) hebben) zou je de tags in de omschrijving (summary) kunnen zetten als tijdelijke work-around (het doorzoeken van ook de tags wordt waarschijnlijk vanaf v2.0 beschikbaar). :!:

Code voor je functions.php

Okee, we voegen de volgende code toe aan de functions.php van je theme:

<?php
if ( isset($_GET['s']) && is_array($_GET['s']) ) { $_GET['s'] = implode(' ', $_GET['s']); }
?>

Bovenstaande code zorgt ervoor dat de array 's' (de zoekwoorden v/d tags) wordt omgezet naar een string. Dus in plaats van allemaal kleine stukjes genaamd 's' (waarvan de inhoud verschillend is) wordt het een stuk genaamd 's' waar alle kleine stukjes inzitten als geheel.

Code voor je product.php

Dan de code die er voor zorgt dat je een checkbox bij elke tag krijgt en ervoor zorgt dat je de geselecteerde tags kunt gebruiken als zoekwoorden:

<?php
 
if(shopp('product','has-tags'))
{
?>
<form method="get" action="<?php bloginfo('url'); ?>">
<input type="hidden" name="st" value="shopp" />
<ul><?php
        while(shopp('product','tags')) // while-loop om alle tags 1 voor 1 door te lopen
        { ?>
<li><label for="<?php shopp('product','tag'); ?>">
<input type="checkbox" name="s[]" value="<?php shopp('product','tag'); ?>" id="<?php shopp('product','tag'); ?>" /> <?php shopp('product','tag'); ?></label></li>
 
    <?php } ?></ul>
<input type="submit" value="Zoeken" />
</form>
 
<?php
}
 
?>

Bovenstaande code plak je in product.php (van je Shopp custom templates) op de plek waar je de tags weer wilt geven.




Navigeer in deze serie


Laat een reactie achter




CommentLuv Enabled

:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!:

UserOnline

3 bezoekers bezoekers
1 gast2 bots