xOrisOria News

Σέρνεται το cs-cart σας; Δεν είστε ο μόνος.

Το cs-cart είναι ένα δημοφιλές script ηλεκτρονικού εμπορίου το οποίο χρησιμοποιήσαμε για την κατασκευή e-shop για πολλά χρόνια. Αξιόλογο αλλά τόσο βαρύ που σε μια περίπτωση ηλεκτρονικού καταστήματος πελάτη μας κατάφερε να δημιουργήσει cpu overload σε …
dedicated server!!! Δυστυχώς υπάρχουν πολλές παρόμοιες περιπτώσεις.

Για αυτό και η cs-cart δοκιμάζει (είναι σε beta version) την έκδοση 4 που η μεγάλη της διαφορά κατά την cs-cart είναι η ταχύτητα απόκρισης του και το λιγότερο cpu load που προκαλεί που παρότι γνωρίζω ότι θα δυσαρεστήσω κάποιους συνάδελφους που το λειτουργούν θα αποτελέσει και την αιτία παρακμής του script σε σύντομο προβλέπω χρονικό διάστημα.

Δυστυχώς ακόμα και bots του google , bing κ.α. δημιουργούν cpu ovedrload κάποιες φορές και το μπλοκάρισμα τους σίγουρα δεν είναι λύση αφού τότε πείτε αντίο στις όποιες προσπάθειες για την προώθηση της ιστοσελίδας σας.

Υπάρχουν σειρά παραγόντων που το cs-cart μπορεί να προκαλέσει cpu overload ή απλά να καταστήσει το ηλεκτρονικό σας κατάστημα να είναι πολύ αργό.

Εμείς στην dreamweaver.gr gια αυτόν αλλά και για πολλούς άλλους λόγους στραφήκαμε προς την λύση του open cart που θεωρούμε εξίσου αξιόλογη και κυρίως είναι πολύ πιο ελαφριά σε όλα τα επίπεδα.

Οι όποιες δε “ελλείψεις” του σε σχέση με το cs- cart παύουν να υπάρχουν με την χρήση addons τα οποία , κατά την ταπεινή προσωπική μου άποψη, απογειώνουν την λειτουργικότητα του open cart καθιστώντας το όχι μόνο πιο ελαφρύ αλλά και πιο λειτουργικό σε σχέση με το cs-cart

Αν λοιπόν το cs-cart γονατίζει τον server στον οποίο βρίσκεστε και έχετε την τελευταία έκδοση την 3.0.6. ακολουθήστε τις ακόλουθες οδηγίες και θα δείτε σημαντική βελτίωση

1. Ανοίξτε το core/classes/bm/render_manager.php file.

2. Εντοπίστε τον ακόλουθο κώδικα:

‘top’ => $this->_render_container($this->containers[‘TOP’]),
‘central’ => $this->_render_container($this->containers[‘CENTRAL’]),
‘bottom’ => $this->_render_container($this->containers[‘BOTTOM’]),
));
3. αντικαταστήστε την παρακάτω γραμμή κώδικα:

));
με αυτή :

), false);
4. Βρείτε το παρακάτω κομμάτι κώδικα στο ίδιο αρχείο:

}
}

$this->view->assign(‘content’, $content);
5. αντικαταστήστε την παρακάτω γραμμή κώδικα:

$this->view->assign(‘content’, $content);
με αυτή :

$this->view->assign(‘content’, $content, false);
6. Βρείτε το παρακάτω κομμάτι κώδικα στο ίδιο αρχείο:

$content .= $this->render_blocks($grid);
}

$this->view->assign(‘content’, $content);
7. αντικαταστήστε την παρακάτω γραμμή κώδικα:

$this->view->assign(‘content’, $content);
με αυτή :

$this->view->assign(‘content’, $content, false);
Ανοίξτε το αρχείο skins/[CUSTOMER_ACTIVE_SKIN]/customer/views/block_manager/render/grid.tpl όπου [CUSTOMER_ACTIVE_SKIN]είναι ο φάκελος με το skin που χρησιμοποιείτε.9. Αντικαταστήστε την παρακάτω γραμμή κώδικα:
{$content|unescape}
με αυτή :

{$content}
Ανοίξτε το αρχείο skins/[CUSTOMER_ACTIVE_SKIN]/customer/views/block_manager/render/location.tpl11. Αντικαταστήστε τον παρακάτω κώδικα:

{$containers.top|htmlspecialchars_decode|unescape}
{$containers.central|htmlspecialchars_decode|unescape}
{$containers.bottom|htmlspecialchars_decode|unescape}

με αυτό:

{$containers.top}
{$containers.central}
{$containers.bottom}

12. Ανοίξτε το αρχείο core/classes/bm/render_manager.php file.

13. αντικαταστήστε την παρακάτω γραμμή κώδικα:

Registry::get_view()->assign(‘content’, $block_content);
με αυτή :

Registry::get_view()->assign(‘content’, $block_content, false);
(κάντε την αλλαγή και στα 2 σημεία )

14. Ανοίξτε το αρχείο skins/[CUSTOMER_ACTIVE_SKIN]/customer/blocks/wrappers/mainbox_general.tpl .

15. αντικαταστήστε την παρακάτω γραμμή κώδικα:

{$content|unescape}

με αυτή :

{$content}

16. Ανοίξτε το αρχείο skins/[CUSTOMER_ACTIVE_SKIN]/customer/blocks/wrappers/mainbox_simple.tpl

17. αντικαταστήστε την παρακάτω γραμμή κώδικα:

{$content|unescape}

με αυτή :

{$content}

18. Ανοίξτε το αρχείο skins/[CUSTOMER_ACTIVE_SKIN]/customer/blocks/wrappers/onclick_dropdown.tpl

19. αντικαταστήστε την παρακάτω γραμμή κώδικα:

{$content|unescape|default:” “}
με αυτή :

{$content|default:” “}
20. Ανοίξτε το αρχείο skins/[CUSTOMER_ACTIVE_SKIN]/customer/blocks/wrappers/sidebox_general.tpl 21. αντικαταστήστε την παρακάτω γραμμή κώδικα:

{$content|unescape|default:” “}

με αυτή :

{$content|default:” “}

22. Ανοίξτε το αρχείο skins/[CUSTOMER_ACTIVE_SKIN]/customer/blocks/wrappers/sidebox_important.tpl.

23. αντικαταστήστε την παρακάτω γραμμή κώδικα:

{$content|unescape|default:” “}

με αυτή :

{$content|default:” “}

24. Ανοίξτε το αρχείο skins/[CUSTOMER_ACTIVE_SKIN]/customer/views/block_manager/render/block.tpl .

25. αντικαταστήστε την παρακάτω γραμμή κώδικα:

{$content|unescape}
με αυτή :

{$content}
26. Ανοίξτε το αρχείο core/classes/bm/render_manager.php file.

27.Προσθέστε τις παρακάτω γραμμές:

$cookie_data = fn_get_session_data();
$cookie_data[‘all’] = $cookie_data;
μετα απο αυτη τη γραμμή:

$handlers = array();
}
28. Στο ίδιο αρχείο,προσθέστε:

$additional_level .= self::_generate_additional_cache_level($block_scheme[‘cache’], ‘cookie_handlers’, $cookie_data);
μετά απο αυτό:

$additional_level .= self::_generate_additional_cache_level($block_scheme[‘cache’], ‘session_handlers’, $_SESSION);
29. Ανοίξτε το αρχείο core/fn.common.php

30. Προσθέστε:

if (!empty($expiry)) {
$_SESSION[‘settings’][$var][‘expiry’] = TIME + $expiry;
}
μετά απο αυτό:

$_SESSION[‘settings’][$var] = array (
‘value’ => $value
);
31. Στο ίδιο αρχείο, αντικαταστήστε την παρακάτω γραμμή κώδικα:

function fn_get_session_data($var)
με αυτή :

function fn_get_session_data($var = ”)
32. Στο ίδιο αρχείο, αντικαταστήστε την παρακάτω γραμμή κώδικα:

return isset($_SESSION[‘settings’][$var][‘value’]) ? $_SESSION[‘settings’][$var][‘value’] : ”;
με τις παρακάτω γραμμές:

if (!$var) {
$return = array();
foreach ($_SESSION[‘settings’] as $name => $setting) {
if (empty($setting[‘expiry’]) || $setting[‘expiry’] > TIME) {
$return[$name] = $setting[‘value’];
} else {
unset($_SESSION[‘settings’][$name]);
}
}
} else {
if (!empty($_SESSION[‘settings’][$var]) && (empty($_SESSION[‘settings’][$var][‘expiry’]) || $_SESSION[‘settings’][$var][‘expiry’] > TIME)) {
$return = isset($_SESSION[‘settings’][$var][‘value’]) ? $_SESSION[‘settings’][$var][‘value’] : ”;
} else {
if (!empty($_SESSION[‘settings’][$var])) {
unset($_SESSION[‘settings’][$var]);
}

$return = false;
}
}

return $return;
33. Ανοίξτε το αρχείο schemas/block_manager/blocks.php .

34. αντικαταστήστε την παρακάτω γραμμή κώδικα:

‘session_handlers’ => array (‘settings’ => ‘%SETTINGS%’)
με αυτή :

‘cookie_handlers’ => array (‘%ALL%’)

35. Καθαρίστε την cache του template. Συνδεθείτε στο admin panel και προσθέστε μετά το /admin.php στο address bar του browser σας : ?cc και πατήστε Enter.

http://www.wdf.gr/articles/e-commerce-e-shops/cs-cart.html

Use Facebook to Comment on this Post