--=REKLAMA=--

VirtueMart/Różne rozwiązania

Z Joomla!WikiPL

Znak wodny na zdjęciach produktów VirtueMart

Potrzebne są 3 pliki.

  1. .htaccess
  2. watermark.php
  3. watermark.png

Wszystkie trzy pliki muszą znajdować się w katalogu components/com_virtuemart/shop_image/product.


Zawartość pliku .htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(gif|jpeg|jpg|png)$ watermark.php [QSA,NC]

Zawartość pliku watermark.php

<?php
$path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
$image = imagecreatefromstring(file_get_contents($path));
$w = imagesx($image);
$h = imagesy($image);
$watermark = imagecreatefrompng('watermark.png');
$ww = imagesx($watermark);
$wh = imagesy($watermark);
imagecopy($image, $watermark, $w-$ww, $h-$wh, 0, 0, $ww, $wh);
header('Content-type: image/jpeg');
imagejpeg($image);
exit();
?>

W pliku watermark.png dajemy logo znaku wodnego.


Znalezione na http://forum.virtuemart.net/index.php?topic=47606.msg169277


Oczywiście, można to zastosować także do miniaturek czy zdjęć kategorii. Wtedy postępujemy analogicznie w odpowiednich katalogach.

Rozwiązanie problemu pustych stron w procesie zamówienia i w koszyku

Problem który zauważyłem może powodować pokazywanie się pustych stron m.in w krokach procesu zamówienia.

Otóż formularze w VM przekazują Itemid w polach hidden (metodą POST), natomiast metoda getActive() obiektu JMenu korzysta z Itemid pobieranego z adresu (GET). Jeżeli go nie znajdzie jako aktywną traktuje stronę główną.

Jeżeli więc korzystasz w Joomla! z mod_rewrite, SEF albo masz w szablonie jakiś warunek na stronę główną, system może wyświetlić pustą stronę myśląc że to strona główna.

Rozwiązanie jest proste:

Wystarczy w pliku /components/com_virtuemart/virtuemart.php na końcu pliku dopisać:

$menu = &JSite::getMenu();
$Itemid=JRequest::getVar('Itemid');
$menu->setActive($Itemid);

--Schleppel 13:05, 25 wrz 2009 (UTC)

I jeszcze jeden możliwy powód "pustych stron" w VirtueMart

Czasami pojawia się problem z obsługą PEARa. Joomla! importuje sobie PEARa, a VirtueMart ma kopię w swoim katalogu i pokazuje się błąd redeklaracji funkcji (jeśli masz wyłączone wyświetlanie błędów pokaże się biały ekran).

Najprościej usunąć problem zerując plik /administrator/components/com_viruemart/PEAR.php (zostawiając pusty, a nie kasując go).

--Schleppel 11:12, 27 wrz 2009 (UTC)

Proste Adresy / Przyjazne Linki dla VirtueMart

Problem Przyjaznych linków dla VirtueMart rozwiązuje rozszerzenie ext_joomsef3_virtuemart - działa bez zarzutu - dla poprawnego działania należy najpierw zainstalować chociażby podstawową wersję komponentu joomsef 3 (podstawowa jest wersją bezpłatną) dostępną na stronie producenta http://www.artio.net/downloads/joomla/joomsef oraz włączone proste w konfiguracji globalnej.

--Gall Anonim 09:48, 9 sie 2011 (UTC)

Zamiana komponentu logowania Joomla! na logowanie VirtueMart

Dodając w menu pozycję "logowanie" standardowo przypisuje się komponent logowania do Joomla!. Ten komponent pozwala na zarejestrowanie nowego użytkownika pomijając formularz z adresem wysyłki i danymi kontaktowymi.

Pełna rejestracja wraz z wszystkimi niezbędnymi formularzami jest dostępna po wykonaniu niewielkiej zmiany w pliku components\com_user\views\login\tmpl\default_login.php. W linii 64 zmieniamy

<a href="<?php echo JRoute::_( 'index.php?option=com_user&task=register' ); ?>">

na

<a href="<?php echo JRoute::_( 'index.php?option=com_virtuemart&page=shop.registration' ); ?>">

Opisy różnych rozwiązań

  • Miniaturki produktów w wynikach wyszukiwania Joomla!
    Aby wyszukiwarka Joomla! pokazywała miniaturki produktów, należy wyedytować plugin VirtueMart Extended Search (standardowo dostarczany w paczce z VM).
    Opis zmian, które należy dokonać znajdziesz tutaj http://www.vsx.pl
  • Graficzne przedstawienie stanów magazynowych
    Aby przedstawić dostępność towarów za pomocą grafiki np. pasków dostępności, przygotuj najpierw grafikę. Następnie w zależności od potrzeb musisz wyedytować plik browse_ .pl lub flypage_ .tpl.php . Poczytaj o niezbędnych zmianach http://www.vsx.pl

--Pyby 11:33, 12 maj 2010 (UTC)

  • Wysyłanie maila użytkownikowi z informacją, że jego konto zostało odblokowane (aktywowane)
    Aby dodać taką możliwość, należy edytować plik /administrator/components/com_users/controller.php. A dokładniej funkcję block().
    Dokładny opis znajdziesz na forum: http://forum.joomla.pl

--tom3cz3k 09:53, 27 wrz 2010 (UTC)


Poprawne wyświetlanie tytułów miniatur w slimboxie

Należy zmodyfikować w 122-123 linijce pliku

components/com_virtuemart/themes/default/theme.php

if( $this->get_cfg('useLightBoxImages', 1 )) {
$html .= vmCommonHTML::getLightboxImageLink( $image->file_url, 
       $thumbtag, $title ? $title : 
       stripslashes(htmlentities($image->file_title,ENT_QUOTES)), 
       'product'.$product_id );
}

na następujący

if( $this->get_cfg('useLightBoxImages', 1 )) {
       $html .= vmCommonHTML::getLightboxImageLink( $image->file_url, 
       $thumbtag, $title ? $title : $image->file_title, 
       'product'.$product_id ); }

Znalezione na http://www.virtuemart.pl/forum/viewtopic.php?f=18&t=2929