К основному контенту

Сообщения

Показаны сообщения с ярлыком "shop-script"

Частичный переезд

Я решил оживить домен handmadesite.net и переношу все посты про Shop-Script, Cake, ZendFramework, PHP и т.п. туда. А то мой “уютный дневничок” стал похож непойми на что. :-) Ну и еще там можно подписываться на каменты, да и вообще… Счас потихоньку все более менее свежие тематические посты дублирую туда, а здесь запрещаю их комментарии. Вот. Велкам всем, кому интересна эта тематика. :-)

Кэшируй, кэшируй, кэшируй запрос назло буржуазной Европе!

Обсуждение и дальнейшее развитие темы смотрите в блоге "WEB рукоделие" . Комментируйте там же. Простите за неудобства. Это опять пост про Shop-Script. Давно обещанная на форуме WebAssyst практика кэширования запросов многострадального ШопСкриптаПро. Предыстория этого вопроса такова: одно время магаз на ShopScript работал у меня на довольно хилом VDS и посещения поисковых ботов практически клали сервер на обе лопатки. Типичная, так сказать, DDOS атака :-) Поэтому я озаботился производительностью самого скрипта. Предпринял следующие логичные, как мне кажется, шаги: Добавил недостающие индексы в разные таблицы с товаром, параметрами товара, категории, валюты и т.д. Убрал подсчет запросов категорий и товаров . Во-первых это оказалась бесполезная фича, во-вторых это было просто. Закэшировал несколько запросов. Эти три пункта помогли решить проблему. Не знаю, какой оказал бОльшее влияние, но первого точно было недостаточно. Объяснять как установить PEAR, доба...

Отключаем у Shop-Script показ погоды на Луне

Обсуждение и дальнейшее развитие темы смотрите в блоге "WEB рукоделие" . Комментируйте там же. Простите за неудобства. Сначала обоснование. Счетчик показов информации о товаре и показов категории – обычное целочисленное поле в БД. Каждый раз когда запрашивается категория или просмотр информации о товаре, Shop-Script прибавляет к значению единицу. В теории должна получиться статистика просмотров и распределение товаров по популярности. Но кроме людей сайт посещает еще много разной живности, да и, скажем троекратный, просмотр товара одним пользователем не может считаться тремя просмотрами. В итоге такие сомневающиеся пользователи вместе с шумной и прожорливой толпой поисковых ботов накручивают эти счетчики. Как следствие — наиболее точно эти самые счетчики показывают погоду на Луне. Сэкономить миллисекунды на 1 запросе – тоже хлеб. — Как же так, Родион, старушку – всего за 20 копеек!!! — Ну не скажите, Порфирий Петрович… Пять старушек – уже рупь… Отк...

Уломали :-) Улучшаем URL в Shop-Script

Обсуждение и дальнейшее развитие темы смотрите в блоге "WEB рукоделие" . Комментируйте там же. Простите за неудобства. Идея в общем-то простая – с помощью апачевского модуля mod_rewrite преобразовать “красивые” URL в такой набор параметров, которые понимает скрипт. Самые частые пути: www.shopscripsite.ru/index.php?productID=nnnn www.shopscripsite.ru/index.php?productID=nnnn&discuss=yes www.shopscripsite.ru/index.php?categoryID=nnnn Создадим в корне сайта файл .htaccess, если, конечно, его еще нет. И добавим в него такие строчки: <IfModule mod_rewrite.c>     RewriteEngine On     RewriteRule ^product/([^/]*)/discuss /product/$1/?discuss=yes [QSA,NE,L]     RewriteRule ^product/([0-9]*) /index.php?productID=$1 [QSA,NE,L]     RewriteRule ^category/([0-9]*) /index.php?categoryID=$1 [QSA,NE,L] </IfModule> Скажу честно – я не профессионал в составлении правил для mod_rewrite и Perl-овые рег...

Если у вас нету капчи

Развитие Shop-Script Pro и Premium остановлено, вместо них теперь WebAssyst Shop-Script. Спору нет, обновка хороша, но особых причин переводить уже работающие проекты на новый движок я не вижу. Раз нет поддержки, то дорабатывать старые версии придется самостоятельно. Спамеры, похоже, отлично умеют распознавать старый движок и спамить по формам описания и обсуждения товаров. Поэтому нужно к ним приделать капчу. Вся эта операция займет 10-15 минут. Первым делом, надо скачать отличный скрипт KCaptcha . Из архива надо извлечь полностью папку ‘fonts’ и файлы kcaptcha.php и kcaptcha_config.php. Сложить их в отдельную директорию на сервере, я, например, поместил их в ‘/kcaptcha’. После этого на основе примера надо написать маленький скрипт, который будет по запросу генерировать картинку и записывать код, отображенный на ней, в переменную сессии. Я сделал вот такой: <?php include('kcaptcha.php'); session_start(); $captcha = new KCAPTCHA(); $_SESSION['captcha_keystring...

Форум WebAssist

Articus явно зашевелился. Выпустив кучу полезных и не очень сервисов и скриптов, а также новую версию своего ShopScript, наконец-то открыли форум для общения пользователей их продуктов. Это радует. :-) Поправлю по-человечески скрипт Sitemap для Shop-Script а также напишу про то, как я сделал кэширование в Shop-Script PRO и выложу там ссылки. Народу пока немного, но и форуму всего неделя. Присоединяйтесь! :-)

Sitemap для Shop-Script

С недавних пор наш национальный поисковик присоединился к славной компании поисковиков, умеющих обрабатывать файлы sitemap . Наверное, это связано с какими-то общеланетарными амбициями. Как бы то ни было, теперь есть возможность скормить Яндексу файл(ы) sitemap . Я решил, что обрабатывать сайт какой-нибудь сторонней приблудой много дольше, чем просто сгенерировать файлы sitemap с помощью скрипта. Тем более, что у shop-script в общем-то довольно простая структура. Новая версия Shop-Script с ЧПУ пока недоступна, получу — модифицирую скрипт. :-) Скрипт простенький, делает sitemap для aux-страниц — это у shop-script так называются обычные статические html страницы; страниц с категориями. Без разбивки на страницы 1, 2 и т.д. на мой взгляд эти страницы не слишком важны страниц с товарами и обсуждениями товаров Можно запускать из браузера, можно по cron’у. Корневую страницу сайта, страницу с новостями, страницу с формой обратной связи и т.п. надо записать в отдельный файл sitemap ...

Немного программизма: PHP и файлы CSV

Пришлось тут решать одну небольшую задачу, переносить номенклатуру товаров в несколько баз данных, а именно добавлять сразу много (порядка 100 тыс. позиций) в магазин, построенный на Bitrix и в магазин, построенный на Script-Shop . Для начала, чтоб не делать одну работу дважды, организовал некую базу, из которой решил сделать экспорт в форматы для каждой из систем. Ну, про ограничение в 65535 строк в одном листе Microsoft Excel я заранее был в курсе, неожиданностью для меня это не стало. Максимально увеличил в php параметр выполнения скрипта, чтобы браузер не отваливался по таймауту и, совершенно неожиданно, наступил на интересные детские грабли. Каждый раз при выполнении функции fgetcsv запрашивается новый кусок памяти, причем использовать предыдущий совершенно невозможно. Т.е. в зависимости от настроек сервера и PHP, скрипт по импорту падает из-за нехватки памяти после обработки 10 или 20 тыс. строк. Дальнейший тюнинг параметров PHP в плане увеличения доступной скрипту памяти ок...