Porady techniczne CS-Cart
Zapraszamy do FAQ (Frequently Asked Questions) - gdzie znajdą państwo odpowiedzi na pytania dotyczące CS-Cart. Strona ma charakter techniczny i ma pomóc użytkownikom programu CS-Cart w codziennej pracy.
1. Dymki (tooltipy) w sklepie reagują na kliknięcie myszką, chciałbym żeby pojawiały się po przesunięciu kursora myszki na element
Za wyświetlanie tooltipów ( dymków ) odpowiada rozszerzenie jquery simpletip.W celu uzyskania efektu należy zmodyfikowac plik /js/jquery.simpletip-1.3.1.j linię:
if(!conf.persistent)należy zamienić na
if(conf.persistent)2. Podczas składania zamówienia wymagane jest podanie numeru telefonu w określonym formacie
Sprawdzanie numeru telefonu odbywa się w pliku /js/core.js. Należy znaleźć funkcję phone i dodać jedną linię:
phone: function(val)
{
var digits = '0123456789';
należy zmienić na:
phone: function(val)
{
return true;
var digits = '0123456789';
Po takiej zmianie format numeru telefonu w ogóle nie będzie sprawdzany.
3. Po złożeniu zamówienia chcemy wyświetlić klientowi numer zamówienia
Tworzymy plik razem ze strukturą katalogów:
skins/<twoja_skorka>/customer/addons/my_changes/hooks/checkout/order_confirmation.post.tpl
W tym pliku możemy stworzyć dowolną strukturę html która wyświetli dowolne informacje o transakcji.
<pre>
{$order_info|print_r}
</pre>
powyższy kod wyświetla nam tablicę order_info a nasz kod który pokazuje informacje o numerze transakcji może wyglądać tak:
<div style="padding:10px"><span style="font-size:16px;color:#666666;font-weight:bold">Numer twojego zamówienia: </span><span style="font-size:16px;color:red;font-weight:bold">{$order_info.order_id}</span></div>
4. Zmiana sposobu wyszukiwania na stronie
Chcemy zmienić sposób wyszukiwania na stronie sklepu. Standardowo CS-Cart tworzy dopasowania ścisłe do wyszukiwanej frazy. Chcemy to zmienić na szukanie wszystkich słów z frazy:
Otwieramy plik do edycji:
skins/<twoja_skorka>/customer/common_templates/search.tpl
W tym pliku zamieniamy linię
<input type="hidden" name="cid" value="0" />
na linię
<input type="hidden" name="match" value="all" />
Inną opcją jest zamiana na linię:
<input type="hidden" name="match" value="any" />
Wtedy wyszukiwane będą jakiekolwiek słowa występujące w frazie.
5. Zmiana właściwości edytora TinyMCE w wersji 2.2.1
W wersji CS-Cart Professional 2.2.1 edytor WYSWIG TinyMCE wyświetla się w minimalnej konfiguracji. Brakuje kilku ważnych opcji, które mogą być potrzebne przy bardziej zaawansowanej edycji. Żeby zmienić działanie edytora musimy zmienić zawartość pliku /js/editors/tinymce.editor.js :
Otwieramy plik do edycji i szukamy:
theme_advanced_buttons1: 'formatselect,fontselect,fontsizeselect,bold,italic,
underline,forecolor,backcolor,|,link,image,|,numlist,bullist,indent,outdent,justifyleft,
justifycenter,justifyright,|,code',
theme_advanced_buttons2: '',
theme_advanced_buttons3: '',
zamieniamy tę sekcję na:
theme_advanced_buttons1: 'save,newdocument,|,bold,italic,underline,strikethrough,|,
justifyleft,justifycenter,justifyright,
justifyfull,styleselect,formatselect,fontselect,fontsizeselect',
theme_advanced_buttons2: 'cut,copy,paste,pastetext,pasteword,|,search,replace,|,
bullist,numlist,|,outdent,indent,blockquote,|,
undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,
forecolor,backcolor',
theme_advanced_buttons3: 'tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,
charmap,emotions,iespell,media,advhr,|,
print,|,ltr,rtl,|,fullscreen',
theme_advanced_buttons4: 'insertlayer,moveforward,movebackward,absolute,|,
styleprops,|,cite,abbr,acronym,del,ins,attribs,|,
visualchars,nonbreaking,template,pagebreak,restoredraft
oraz dodajemy linię:
plugins : 'safari,style,advimage,advlink,xhtmlxtras,table,style,paste,preview,
autosave,searchreplace,inlinepopups'
6. Po zainstalowaniu sklepu pojawiają się błędy w skompilowanych szablonach Smarty
Przyczyną tego stanu rzeczy może być włączony moduł suhosin na poziomie serwera www. Jeśli mamy możliwość edycji pliku php.ini (czasami na hostingach zdarza się, że plik php.ini jest lokalny i umożliwia ustawienie własnej konfiguracji php), możemy wyłączyć moduł suhosin dyrektywą:
suhosin.simulation=on
7. Jak zrobić zależność kosztów dostawy od sposobu płatności
W niektórych sytuacjach konieczne jest uzależnienie kosztów dostawy od sposobu płatności. W CS-Cart możemy to zrobić modyfikując 3 pliki:
skins/<twoja_skorka>/admin/views/shippings/components/rates.tpl
controllers/admin/shippings.php
core/fn_cart.php
Modyfikacja tych 3 plików umożliwa zrobienie tej zależności.
8. Przekierowanie na stronę główną po wpisaniu nieprawidłowego adresu
Po wpisaniu nieprawidłowego adresu w przeglądarce lub po wejściu w link którego nie ma, CS-Cart kieruje nas na stronę błędów skąd możemy przejść na stronę główną sklepu albo wrócić na stronę z której weszliśmy. Są sytuacje, kiedy chcemy skierować użytkownika na stronę główną sklepu.
Żeby to zrobić musimy wykonać mała modyfikację w kodzie sklepu:
W pliku core/fn_control.php szukamy sekcji:
if ($status == CONTROLLER_STATUS_NO_PAGE) {
header(' ', true, 404);
}
zamieniamy ją na:
if ($status == CONTROLLER_STATUS_NO_PAGE) {
header('Location: /index.php', true, 301);
exit;
}
9. Dodanie kosztów za płatność do kosztów wysyłki
W sklepie CS-Cart możemy zdefiniować dodatkowy koszt zamówienia ze względu na sposób płatności. W przypadku kiedy system płatności pobiera dużą prowizję jest to w pełni uzasadnione działanie. Jednak informacja o koszcie za wykonanie płatności jest widoczna dopiero w ostatnim kroku zamówienia. Chcemy żeby klient od razu znał całkowite koszty przesyłki, już na etapie wyboru płatności i sposobu wysyłki. Żeby to zrobić wystarczy zmodyfikować jeden plik:
skins/<twoja_skorka>/customer/views/checkout/components/shipping_rates.tpl
linię:
{if $display == "radio"}
zamieniamy na:
{if $display == "radio"}
{assign var="array_pay" value=$payment_methods.$payment_id}
linię:
<input type="radio" class="valign" id="sh_{$supplier_id}_{$shipping_id}" name="shipping_ids[{$supplier_id}]" value="{$shipping_id}" {if isset($cart.shipping.$shipping_id.rates.$supplier_id)}checked="checked"{/if} /><label for="sh_{$supplier_id}_{$shipping_id}" class="valign">{$rate.name} {if $rate.delivery_time}({$rate.delivery_time}){/if} - {if $rate.rate}{include file="common_templates/price.tpl" value=$rate.rate}{else}{$lang.free_shipping}{/if}</label>
zamieniamy na:
{math assign="equation" equation="x + y" x=$array_pay.a_surcharge y=$rate.rate}
<input type="radio" class="valign" id="sh_{$supplier_id}_{$shipping_id}" name="shipping_ids[{$supplier_id}]" value="{$shipping_id}" {if isset($cart.shipping.$shipping_id.rates.$supplier_id)}checked="checked"{/if} /><label for="sh_{$supplier_id}_{$shipping_id}" class="valign">{$rate.name} {if $rate.delivery_time}({$rate.delivery_time}){/if} - {if $equation}{include file="common_templates/price.tpl" value=$equation}{else}{$lang.free_shipping}{/if}</label>
w ten sposób przy wysyłce pojawi się całkowity koszt dostawy razem z dodatkiem za płatność.
10. Instalacja CS-Cart na serwerach home.pl
Podczas instalacji programu CS-Cart na serwerach firmy home.pl, pojawiają się problemy związane z nietypową konfiguracją serwera www, oraz katalogami systemowymi np. /var które na serwerach home.pl należą do grupy katalgów systemowych i w instalowanych aplikacjach nie są mile widziane. Rozwiązanie tych problemów jest następujące:
1. Rozpakowujemy sklep w katalogu np. /cscart
2. Domenę pod którą ma działać sklep kierujemy na katalog główny naszego serwera
3. W katalogu głównym umieszczemy plik .htaccess o następującej zawartości:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?nasza_domena\.pl$ [NC]
RewriteCond %{REQUEST_FILENAME} !/katalog_cscart/
RewriteRule ^(.*)$ /katalog_cscart/$1 [L]
11. Problem z modułem SEO w sytuacji kiedy dużo produktów w sklepie ma taką samą nazwę.
Jeśli dużo produktów w sklepie mam taką samą nazwę, moduł SEO nadaje tym produktom przyjazne linki dodając kolejne cyfry na końcu linku. Może dojść do sytuacji kiedy, link jest tak długi, że przekracza wielkość dopuszczalnego reqesta GET i nie można dostać się na stronę z produktem. Taka systuacja zdaża sie rzadko ale w tej sytuacji należy wykonać następujące kroki:
- kasujemy zawartość tablicy cscart_seo_names
- w pliku /addons/seo/func.php zmieniamy linię
$_object_name = fn_create_seo_name($object_id, $object_type, $object_name . SEO_DELIMITER . ($index == 1 ? strtolower($lang_code) : $index), $index, $dispatch, $lang_code);
na linię:
$_object_name = fn_create_seo_name($object_id, $object_type, $object_name . SEO_DELIMITER . ($index == 1 ? strtolower($lang_code) : $object_id), $object_id, $dispatch, $lang_code);
12. Komentarze i opinie we wszystkich produktach.
W sytuacji kiedy potrzebujemy żeby przy wszystkich produktach była możliwość komentowania lub oceniania nie możemy tego wykonać w poziomu Panelu administracyjnego sklepu. Wtedy musimy odwołać się bezpośrednio do bazy danych i wykonać kilka prostych kroków:
- jeśli nie mamy jeszcze żadnych komentarzy i opini wykonujemy następujące zapytanie: DELETE FROM cscart_discussion WHERE `object_type` = 'P'
- następnie dodajemy hurtem możliwość komentowania i oceniania produktów: INSERT INTO `cscart_discussion` (`object_id`, `object_type`, `type`) SELECT product_id,'P','B' FROM cscart_products
- w przypadku kiedy chcemy włączyć tylko i wyłącznie komentowanie literę 'B' w zapytaniu należy zmienić na 'C'
Komentarze
Nie znaleziono wiadomości
Nowy komentarz
- 2012-02-19 CS-Cart 2 marca w Poznaniu na Targach eHandlu - ZAPRASZAMY!
- 2012-01-18 Pięć nowych, atrakcyjnych tematów graficznych
- 2012-01-15 Nowe dodatki do CS-Cart - Rotator Produktu, Ceneo
- 2012-01-02 CS-Cart Ultimate - wiele sklepów, jeden panel administracyjny
- 2011-12-28 3 200 000 pozycji w księgarni obsługiwanej przez program CS-Cart

