Tip: Virtuemart tricks

Ofte stillede spørgsmål og svar. Vejledninger og dokumentation.

Moderator: b-ronnow

Locked
Niklas
Joomla! Hero
Joomla! Hero
Posts: 2039
Joined: Thu Aug 18, 2005 5:39 am
Location: Aarhus, Denmark
Contact:

Tip: Virtuemart tricks

Post by Niklas » Mon Aug 07, 2006 11:29 am

Vær opmærksom på at disse hacks er lavet i Virtuemart version 1.0.6 og Joomla version 1.0.10. Jeg fraskirver mig et hvert ansvar for følgerne af dine gerninger, jeg kan dog sige at jeg har testet alle hacks og de virker ved mig!


jeg er igang med at arbejde på en stører webshop, og har i gennem det projekt fået en del gode tips og tricks, jeg vil prøve at dele nogle af de bedste her. Jeg starter med et lille trick der fjerne "Call for price" og erstatter den med "Various sizes available".

Det første du skal gøre er at finde filen administrator/components/com_virtuemart/classes/ps_product.php
i filen skal du finde linje 1905 som gerne skulle ligne noget i stil med

Code: Select all

$no_price_html = " ".$VM_LANG->_PHPSHOP_PRODUCT_CALL.": $product_name\">".$VM_LANG->_PHPSHOP_PRODUCT_CALL."</a>";
Denne linje skal udskiftes med følgene kode:

Code: Select all

$no_price_html = "<b>".$VM_LANG->_PHPSHOP_PRODUCT_CALL."</b>";
Når du har gjordt dette skal vi have ændret den tekst der bliver skrevet ud. Så nu skal vi have fat i progfilen. Den finder du her: (Den engelske version) administrator/components/com_virtuemart/languages/english.php

i denne fil skal du finde linje 584 som starter med:

Code: Select all

var $_PHPSHOP_PRODUCT_CALL
Udskift denne linje med:

Code: Select all

var $_PHPSHOP_PRODUCT_CALL = 'Various sizes available';
og du skulle nu være kørende :P

Dette lille hack skal du bruge hvis du har en vare med undervarer så du kan køre lagerstyring på en vare med fx forskellige farver etc. Du kan læse mere om det her: (link kommer snart)

jeg vil senere skrive om hvordan du ændre categori titlen "browse" til navnet på kategoriet, derudover kommer der også andet guf
Last edited by Niklas on Wed Aug 09, 2006 7:53 am, edited 1 time in total.
Med venlig hilsen
Niklas Stephenson
www.ungt.dk - Open Source webløsninger, webudvikling og Joomla CMS

Niklas
Joomla! Hero
Joomla! Hero
Posts: 2039
Joined: Thu Aug 18, 2005 5:39 am
Location: Aarhus, Denmark
Contact:

Ændre antallet af underkategorier listet i en top kategori

Post by Niklas » Mon Aug 07, 2006 11:42 am

I VM er det muligt at lave flere underkategorier til en kategori, men det er ikke muligt at vælge hvor mange du vil have i træk inden listen fortsætter ned på næste linje, som standart er der 4 kategorier også et linje skift, det er dog meget let at ændre på dette. Du skal have fat i følgende fil: administrator/components/com_virtuemart/classes/ps_product_category.php

her skal du finde linje 876 som ser sådanne ud:

Code: Select all

$categories_per_row = 4;
firtallet er standart indstillingen, og den kan bare ændres til det ønskede antal underkategorier. Ændre tallet til fx 5 og gem filen, refresh din browser og det skulle virke!

underligt at man ikke kan instille dette fra backend?!
Med venlig hilsen
Niklas Stephenson
www.ungt.dk - Open Source webløsninger, webudvikling og Joomla CMS

Niklas
Joomla! Hero
Joomla! Hero
Posts: 2039
Joined: Thu Aug 18, 2005 5:39 am
Location: Aarhus, Denmark
Contact:

Ændre kategori title

Post by Niklas » Mon Aug 07, 2006 11:48 am

For at ændre titlen skal vi ud og lave lidt hacking i filen shop.browse.php du finder filen her: administrator/components/com_virtuemart/classes/shop.browse.php

En af de første linjer bliver denne kode udskrevet:

Code: Select all

<h3>Browse</h3>
kan ikke lige huske linje nummeret da det er ændret nu, men hvis i kan finde denne linje skal den udskiftes med:

Code: Select all

//Joomlaerhverv title hack
$db->query( "SELECT category_name FROM #__{vm}_category WHERE category_id='$category_id'");
$db->next_record();	
$title2 = $db->f("category_name");
		
		
echo "<h3>".$title2."</h3>\n";
//End joomlaerhverv title hack
Dette burde klart være standart kode!
Last edited by Niklas on Wed Aug 09, 2006 7:50 am, edited 1 time in total.
Med venlig hilsen
Niklas Stephenson
www.ungt.dk - Open Source webløsninger, webudvikling og Joomla CMS

Niklas
Joomla! Hero
Joomla! Hero
Posts: 2039
Joined: Thu Aug 18, 2005 5:39 am
Location: Aarhus, Denmark
Contact:

Print faktura direkte fra Virtuemart

Post by Niklas » Mon Aug 07, 2006 12:45 pm

jeg er i gang med at skrive et faktura plugin til Virtuemart, det vil nok komme herpå i morgen håber jeg, jeg kan ikke lige finde ud af om det skal være en HTML side der bliver generaret eller om jeg skal lave det som en PDF, hvad ville i fortrække? i kan muligvis sende mig en PM med ønsker til pluginet, det bliver dog ikke så avanceret.
Med venlig hilsen
Niklas Stephenson
www.ungt.dk - Open Source webløsninger, webudvikling og Joomla CMS

Niklas
Joomla! Hero
Joomla! Hero
Posts: 2039
Joined: Thu Aug 18, 2005 5:39 am
Location: Aarhus, Denmark
Contact:

Fjern style på "Add to cart" knap

Post by Niklas » Wed Aug 09, 2006 7:44 am

For at fjerne Virtuemarts css style på knappen "Add to cart" skal vi ind og ændre i to filer, den første er administrator/components/com_virtuemart/classes/shop.browse.php linje 394 til 407. Disse linjer ser som standart sådanne ud:

Code: Select all

		/*** Add-to-Cart Button ***/
		if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )) {
			$form_addtocart = "<form action=\"". $mm_action_url ."index.php\" method=\"post\" name=\"addtocart\" id=\"addtocart".$i."\">\n
                <label for=\"quantity_".$i."\">".$VM_LANG->_PHPSHOP_CART_QUANTITY.":</label>\n
                <input id=\"quantity_".$i."\" class=\"inputbox\" type=\"text\" size=\"3\" name=\"quantity\" value=\"1\" />
                <input type=\"submit\" style=\"text-align:center;background-position:bottom left;width:160px;height:35px;cursor:pointer;border:none;font-weight:bold;font-family:inherit;background: url('". IMAGEURL ."ps_image/".PSHOP_ADD_TO_CART_STYLE ."') no-repeat left center transparent;vertical-align: middle;overflow:hidden;\" value=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO ."\" title=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO."\" />
                <input type=\"hidden\" name=\"category_id\" value=\"". @$_REQUEST['category_id'] ."\" />\n
                <input type=\"hidden\" name=\"product_id\" value=\"". $db_browse->f("product_id") ."\" />\n
                <input type=\"hidden\" name=\"page\" value=\"shop.cart\" />\n
                <input type=\"hidden\" name=\"func\" value=\"cartadd\" />\n
                <input type=\"hidden\" name=\"Itemid\" value=\"$Itemid\" />\n
                <input type=\"hidden\" name=\"option\" value=\"com_virtuemart\" />\n
              </form>\n";
		}
Og de skal ændres til dette:

Code: Select all

		/*** Add-to-Cart Button ***/
		if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )) {
			$form_addtocart = "<form action=\"". $mm_action_url ."index.php\" method=\"post\" name=\"addtocart\" id=\"addtocart".$i."\">\n
                <label for=\"quantity_".$i."\">".$VM_LANG->_PHPSHOP_CART_QUANTITY.":</label>\n
                <input id=\"quantity_".$i."\" class=\"inputbox\" type=\"text\" size=\"3\" name=\"quantity\" value=\"1\" />
                <input type=\"submit\" value=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO ."\" title=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO."\" />
                <input type=\"hidden\" name=\"category_id\" value=\"". @$_REQUEST['category_id'] ."\" />\n
                <input type=\"hidden\" name=\"product_id\" value=\"". $db_browse->f("product_id") ."\" />\n
                <input type=\"hidden\" name=\"page\" value=\"shop.cart\" />\n
                <input type=\"hidden\" name=\"func\" value=\"cartadd\" />\n
                <input type=\"hidden\" name=\"Itemid\" value=\"$Itemid\" />\n
                <input type=\"hidden\" name=\"option\" value=\"com_virtuemart\" />\n
              </form>\n";
		}
Så skulle knappen ligne en "normal" knap når du ser en liste af kategorier, nu skal vi også have ændret den knap der bliver vist når du er inde og se produkt detaljer. her skal vi have fat i filen administrator/components/com_virtuemart/classes/shop.product_details.php linje 307

Linje 307 ser normalt sådanne ud

Code: Select all

 $addtocart .= "style=\"text-align:center;background-position:bottom left;width:160px;height:35px;cursor:pointer;border:none;font-weight:bold;font-family:inherit;background: url('". IMAGEURL ."ps_image/".PSHOP_ADD_TO_CART_STYLE ."') no-repeat left center transparent;vertical-align: middle;\" ";
Udskift den med:

Code: Select all

 $addtocart .= " ";
Så burde vi være kørende!
Med venlig hilsen
Niklas Stephenson
www.ungt.dk - Open Source webløsninger, webudvikling og Joomla CMS

Niklas
Joomla! Hero
Joomla! Hero
Posts: 2039
Joined: Thu Aug 18, 2005 5:39 am
Location: Aarhus, Denmark
Contact:

Re: Tip: Virtuemart tricks

Post by Niklas » Sat Dec 30, 2006 9:53 am

Jeg har nu prøvet de fleste hacks af i version VM 1.8 og joomla 1.0.12 og de virker alle.
Med venlig hilsen
Niklas Stephenson
www.ungt.dk - Open Source webløsninger, webudvikling og Joomla CMS

Noob-cage
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 234
Joined: Thu Jan 05, 2006 9:18 pm
Location: Denmark

Re: Tip: Virtuemart tricks

Post by Noob-cage » Sun Feb 17, 2008 10:37 pm

Blev Niklas' plugin noglesinde færdig? (:


Locked

Return to “FAQ - Dokumentation og vejledninger”