support 447 Опубликовано 17 января, 2010 Автор Жалоба Share Опубликовано 17 января, 2010 Не за что Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 января, 2010 Автор Жалоба Share Опубликовано 19 января, 2010 Ещё можно в /includes/classes/product.php поменять: function buildDataArray(&$array,$image='thumbnail') { global $vamPrice,$main; $tax_rate = $vamPrice->TAX[$array['products_tax_class_id']]; $products_price = $vamPrice->GetPrice($array['products_id'], $format = true, 1, $array['products_tax_class_id'], $array['products_price'], 1); if ($_SESSION['customers_status']['customers_status_show_price'] != '0') { if ($_SESSION['customers_status']['customers_fsk18'] == '1') { if ($array['products_fsk18'] == '0') { $buy_now = $this->getBuyNowButton($array['products_id'], $array['products_name']); $buy_now_new = $this->getBuyNowButtonNew($array['products_id'], $array['products_name']); } } else { $buy_now = $this->getBuyNowButton($array['products_id'], $array['products_name']); $buy_now_new = $this->getBuyNowButtonNew($array['products_id'], $array['products_name']); } } $shipping_status_name = $main->getShippingStatusName($array['products_shippingtime']); $shipping_status_image = $main->getShippingStatusImage($array['products_shippingtime']); return array ('PRODUCTS_NAME' => $array['products_name'], 'PRODUCTS_MODEL'=>$array['products_model'], 'PRODUCTS_QUANTITY'=>$array['products_quantity'], 'COUNT'=>$array['ID'], 'PRODUCTS_ID'=>$array['products_id'], 'PRODUCTS_VPE' => $this->getVPEtext($array, $products_price['plain']), 'PRODUCTS_IMAGE' => $this->productImage($array['products_image'], $image), 'PRODUCTS_LINK' => vam_href_link(FILENAME_PRODUCT_INFO, vam_product_link($array['products_id'], $array['products_name'])), 'PRODUCTS_PRICE' => $products_price['formated'], 'PRODUCTS_PRICE_PLAIN' => $products_price['plain'], 'PRODUCTS_TAX_INFO' => $main->getTaxInfo($tax_rate), 'PRODUCTS_SHIPPING_LINK' => $main->getShippingLink(), 'PRODUCTS_BUTTON_BUY_NOW' => $buy_now, 'PRODUCTS_BUTTON_BUY_NOW_NEW' => $buy_now_new, 'PRODUCTS_SHIPPING_NAME'=>$shipping_status_name, 'PRODUCTS_SHIPPING_IMAGE'=>$shipping_status_image, 'PRODUCTS_DESCRIPTION' => $array['products_description'], 'PRODUCTS_EXPIRES' => $array['expires_date'], 'PRODUCTS_CATEGORY_URL'=>$array['cat_url'], 'PRODUCTS_SHORT_DESCRIPTION' => $array['products_short_description'], 'PRODUCTS_FSK18' => $array['products_fsk18']); }[/code] на: [code] function buildDataArray(&$array,$image='thumbnail') { global $vamPrice,$main; if ($_SESSION['customers_status']['customers_status_show_price'] != '0') { if ($_SESSION['customers_status']['customers_fsk18'] == '1') { if ($array['products_fsk18'] == '0') { $buy_now = $this->getBuyNowButton($array['products_id'], $array['products_name']); $buy_now_new = $this->getBuyNowButtonNew($array['products_id'], $array['products_name']); } } else { $buy_now = $this->getBuyNowButton($array['products_id'], $array['products_name']); $buy_now_new = $this->getBuyNowButtonNew($array['products_id'], $array['products_name']); } } $shipping_status_name = $main->getShippingStatusName($array['products_shippingtime']); $shipping_status_image = $main->getShippingStatusImage($array['products_shippingtime']); return array ('PRODUCTS_NAME' => $array['products_name'], 'PRODUCTS_MODEL'=>$array['products_model'], 'PRODUCTS_QUANTITY'=>$array['products_quantity'], 'COUNT'=>$array['ID'], 'PRODUCTS_ID'=>$array['products_id'], 'PRODUCTS_VPE' => $this->getVPEtext($array, $products_price['plain']), 'PRODUCTS_IMAGE' => $this->productImage($array['products_image'], $image), 'PRODUCTS_LINK' => vam_href_link(FILENAME_PRODUCT_INFO, vam_product_link($array['products_id'], $array['products_name'])), 'PRODUCTS_PRICE' => number_format($array['products_price']), 'PRODUCTS_PRICE_PLAIN' => $products_price['plain'], 'PRODUCTS_TAX_INFO' => $main->getTaxInfo($tax_rate), 'PRODUCTS_SHIPPING_LINK' => $main->getShippingLink(), 'PRODUCTS_BUTTON_BUY_NOW' => $buy_now, 'PRODUCTS_BUTTON_BUY_NOW_NEW' => $buy_now_new, 'PRODUCTS_SHIPPING_NAME'=>$shipping_status_name, 'PRODUCTS_SHIPPING_IMAGE'=>$shipping_status_image, 'PRODUCTS_DESCRIPTION' => $array['products_description'], 'PRODUCTS_EXPIRES' => $array['expires_date'], 'PRODUCTS_CATEGORY_URL'=>$array['cat_url'], 'PRODUCTS_SHORT_DESCRIPTION' => $array['products_short_description'], 'PRODUCTS_FSK18' => $array['products_fsk18']); } У меня например после применения всех советов из темы + включение sql кэша + отключения всех боксов кроме разделов получаются на главной странице магазаина такие результаты: Время генерации: 0.06 сек. Количество запросов: 3. Вот например скриншот карточки товара. Правда на странице карточки товара данные такие: Время генерации: 0.066 сек. Количество запросов: 4. Самое интересное, что вобщем-то весь функционал сохраняется магазина, кроме расчёта скидок, менеджера баннеров, кто в онлайне. Так что для тех, кому не повезло с хостером можно довольно прилично ускорить магазин. Ссылка на сообщение Поделиться на другие сайты
Makdak 0 Опубликовано 19 января, 2010 Жалоба Share Опубликовано 19 января, 2010 А что изменится в функционале? после замены этой? И еще. по прошлой замене в product.php: "я пробовал вносить изменения и в product.php Но с этим вообще что-то не то... Что-то происходит с ценами.. То есть после того как переправляешь product.php, то на страницах где выводятся карточки товаров - цены сокращаются до 1-й цифры... При этом если войти уже в карточку товара, то там цены выводятся нормальные..." Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 января, 2010 Автор Жалоба Share Опубликовано 19 января, 2010 Makdak Не будет разного рода скидок: персональные скидки, скидки групп, скидки от количества. Не будет баннеров из менеджера баннеров в админке, можно использовать любой внешний менеджер баннеров. Не будет работать модуль кто в онлайне, опять же, не особо нужный интрумент, учитывая, что есть Google Analytics например. Не будет мультивалютности, т.е. пересчёта цен из одной валюты в другую по курсу, но это и не нужно, если у Вас в магазине одна валюта. Не будет учёта налогов, так же не всем нужна такая возможности. Вобщем-то, судя по моим наблюдениям, эти возможности и так используют не так и часто, т.е. для многих эта тема с советами будет интересной, особенно если хостер Ваш не особо быстрый. Попробуйте ещё раз перечитать советы, я там немного исправлений вносил, всё должно выводиться нормально, но только без символа валюты, т.е. если по умолчанию например 11 руб., будет 11.0000, примерно так. Ссылка на сообщение Поделиться на другие сайты
Makdak 0 Опубликовано 19 января, 2010 Жалоба Share Опубликовано 19 января, 2010 )) спасибо за пояснения :) Я правда имел в виду - что изменится после последней замены)) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 января, 2010 Автор Жалоба Share Опубликовано 19 января, 2010 Вот скрин главной страницы: Время генерации: 0.066 сек. Количество запросов: 3. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 января, 2010 Автор Жалоба Share Опубликовано 19 января, 2010 Makdak Не будет расчёта скидок и не будет форматирования цены, просто плоское число будет выводиться. Ссылка на сообщение Поделиться на другие сайты
Makdak 0 Опубликовано 19 января, 2010 Жалоба Share Опубликовано 19 января, 2010 Makdak Не будет расчёта скидок и не будет форматирования цены, просто плоское число будет выводиться. Да)) уже проверил :) так и есть. Но все таки вернул на место. Как-то не очень - куча нулей)) У меня получается без изменения product.php примерно так: Время генерации: 0.889, запросов: 57 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 января, 2010 Автор Жалоба Share Опубликовано 19 января, 2010 Я чуть поправил сообщение, теперь не будет нулей, будет просто цифра. Для этого в /includes/classes/product.php нужно поменять: 'PRODUCTS_PRICE' => $array['products_price'], [/code] на: [code]'PRODUCTS_PRICE' => number_format($array['products_price']), Это не так и плохо. Все эти советы в основном для крупных магазинов и для медленных хостеров. У Вас и так всё довольно неплохо. Ссылка на сообщение Поделиться на другие сайты
Makdak 0 Опубликовано 19 января, 2010 Жалоба Share Опубликовано 19 января, 2010 Я извиняюсь за такой пулемет вопросов... но они возникают)). Вот только что сделал статическим меню. Но кол-во запросов не изменилось... может я как-то не так что-то делал? Я прост из шаблона убрал метку вызова меню - {$box_CATEGORIES} и вставил на ее место просто статическое меню. Или не так надо делать? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 января, 2010 Автор Жалоба Share Опубликовано 19 января, 2010 Убрав метку из шаблона Вы не убираете подключение php файла. Боксы нужно отключать в Админке - Настройки - Боксы, а не убирать метку в шаблоне, тогда именно файл не будет подключаться. Ссылка на сообщение Поделиться на другие сайты
Makdak 0 Опубликовано 19 января, 2010 Жалоба Share Опубликовано 19 января, 2010 Понял спасибо. отключил бокс, 7 запросов убавилось... Хм... А как же этот файл тогда подключается, если я его не вызываю меткой...? Я думал что если метки нету, значит и файл не будет подключаться... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 января, 2010 Автор Жалоба Share Опубликовано 19 января, 2010 Makdak Нет, метку убрать недостаточно. У Вас итак довольно быстро, меньше секунды. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 января, 2010 Автор Жалоба Share Опубликовано 20 января, 2010 Что б страницы быстрее отдавались можно ещё gzip включить в Админке - Настройки - Gzip Ссылка на сообщение Поделиться на другие сайты
Гость pooh Опубликовано 21 января, 2010 Жалоба Share Опубликовано 21 января, 2010 Хм... А как же этот файл тогда подключается, если я его не вызываю меткой...? Я думал что если метки нету, значит и файл не будет подключаться... Именно так и должен думать обычный пользователь. Именно так он обычно и думает. Поскольку один из общих принципов работы с компьютерной информацией - данные должны вводиться только один раз. И цитированную фразу надо бы понимать как деликатный намек на то, что надо бы разработчикам исправить ситуацию. Ссылка на сообщение Поделиться на другие сайты
yarbex 0 Опубликовано 21 января, 2010 Жалоба Share Опубликовано 21 января, 2010 дану. сложно в реализации. и ничего толком не даст Ссылка на сообщение Поделиться на другие сайты
Гость pooh Опубликовано 21 января, 2010 Жалоба Share Опубликовано 21 января, 2010 1. В реализации не особо сложно. 2. Вы б на реализацию потратили меньше времени, чем на многочисленные подобные ответы в форуме. 3. Даст конечному простому пользователю упрощение администрирования. Давать советы типа - вставьте в код скрипта - не самый лучший вариант. Для того шаблоны и придуманы, чтобы этого избежать. 4. Даст улучшение быстродействия. Особенно если несколько шаблонов, и в каждом свой набор боксов. 5. Покажет пользователю, что тут не только дают ответы на простые вопросы, но улучшают систему каждодневно, что не замедлит сказаться на количестве продаж и не придется раскрутку заказывать. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 21 января, 2010 Автор Жалоба Share Опубликовано 21 января, 2010 А никто особо и не спорит, ясное дело, что так было бы идеально. Хотя вобщем-то и сделано через Админку - Настройки - Боксы, проще ведь там отключать, чем лазить по файлам, удалять метки. Но я например не знаю, как в php можно будет узнать, что в смарти шаблоне убрали какую-то метку?! Соответственно, тогда не подключать php файл. Ссылка на сообщение Поделиться на другие сайты
Гость pooh Опубликовано 21 января, 2010 Жалоба Share Опубликовано 21 января, 2010 Но я например не знаю, как в php можно будет узнать, что в смарти шаблоне убрали какую-то метку?! Соответственно, тогда не подключать php файл. Прочесть текст шаблона и проанализировать его. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 21 января, 2010 Автор Жалоба Share Опубликовано 21 января, 2010 Прикольно :) Ссылка на сообщение Поделиться на другие сайты
yarbex 0 Опубликовано 21 января, 2010 Жалоба Share Опубликовано 21 января, 2010 1. В реализации не особо сложно. 2. Вы б на реализацию потратили меньше времени, чем на многочисленные подобные ответы в форуме. 3. Даст конечному простому пользователю упрощение администрирования. Давать советы типа - вставьте в код скрипта - не самый лучший вариант. Для того шаблоны и придуманы, чтобы этого избежать. 4. Даст улучшение быстродействия. Особенно если несколько шаблонов, и в каждом свой набор боксов. 5. Покажет пользователю, что тут не только дают ответы на простые вопросы, но улучшают систему каждодневно, что не замедлит сказаться на количестве продаж и не придется раскрутку заказывать. так всеж просто делаешь свой fork и туда добавляешь что хочешь Ссылка на сообщение Поделиться на другие сайты
kpoxas 0 Опубликовано 22 января, 2010 Жалоба Share Опубликовано 22 января, 2010 Заметил, что сайт грузит еще и бокс админки, особенно запрос: $orders_status_query = vam_db_query("select orders_status_name, orders_status_id from " . TABLE_ORDERS_STATUS . " where language_id = '" . (int)$_SESSION['languages_id'] . "'"); while ($orders_status = vam_db_fetch_array($orders_status_query)) { $orders_pending_query = vam_db_query("select count(*) as count from " . TABLE_ORDERS . " where orders_status = '" . $orders_status['orders_status_id'] . "'"); $orders_pending = vam_db_fetch_array($orders_pending_query); $orders_contents .= '<a href="' . vam_href_link_admin(FILENAME_ORDERS, 'selected_box=customers&status=' . $orders_status['orders_status_id'], 'SSL') . '">' . $orders_status['orders_status_name'] . '</a>: ' . $orders_pending['count'] . '<br />'; } $orders_contents = substr($orders_contents, 0, -6);[/code]С ним на сервере Parse time: 7.607, queries: 62Без негоParse time: 0.969, queries: 52Как оптимизировать? Ссылка на сообщение Поделиться на другие сайты
kpoxas 0 Опубликовано 22 января, 2010 Жалоба Share Опубликовано 22 января, 2010 Проблема частично решается индексированием поля orders_status таблицы orders Parse time: 1.213, queries: 63 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 22 января, 2010 Автор Жалоба Share Опубликовано 22 января, 2010 А сколько у Вас заказов, что так медленно?! Тут вобщем-то особо страшного нет ничего, всё-таки бокс админ не выводится обычным посетителям. Ссылка на сообщение Поделиться на другие сайты
kpoxas 0 Опубликовано 22 января, 2010 Жалоба Share Опубликовано 22 января, 2010 Около 20 тыс Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения