Перейти к содержанию
Форум поддержки пользователей VamShop

Анонс изменений в VaM Shop 1.57


support

Рекомендуемые сообщения

Это все не так уж и страшно. Скачиваются эти 100 КБ у каждого юзера ТОЛЬКО ОДИН РАЗ, на следующих страницах берется из кеша.

Этот недостаток далеко не самый плохой. Есть и хуже.

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 171
  • Created
  • Последний ответ

Top Posters In This Topic

  • support

    83

  • firmont

    33

  • geval

    14

  • kpoxas

    9

Для начала избавления от JsHttpRequest :

1) в корневой директории создаем два файла index_ajax1.php и protect.inc.php (для защиты от взлома- прикрепил в архиве)

2) затем в скрипте просто пишем (на примере AjaxSearch) что-то типа этого:

/* search  ****************///  
 
jQuery.noConflict();
jQuery(document).ready(function(){

  var timeout = null;
  function show(msg,searchString)
{
if (msg) {
jQuery("#ajaxQuickFindContent").html(msg);
jQuery("#ajaxQuickFind").slideDown();
}
}
  function AjaxQuery()
  {
  var searchString = jQuery("#quick_find_keyword").val();
  if (searchString.length > 0)
{
    jQuery.ajax({
url: "index_ajax1.php",           
dataType : "html",                   
data: "q=includes/modules/ajax/ajaxQuickFind.php&keywords="+searchString,
type: "POST",
/*beforeSend: function(){
preview_img.fadeIn();},*/
success: function(msg){show(msg,searchString);}
});
}
else
{
jQuery("#ajaxQuickFind").fadeOut();
}

  }
});[/code] Тут ajaxQuickFind - id слоя, куда вставляются результаты quick_find_keyword - id поля ввода. Как видно из запроса
[code]q=includes/modules/ajax/ajaxQuickFind.php&keywords="+searchString
первой переменной является страница обращения, далее идут остальные параметры. Все это дело фильтруется в файле index-ajax1.php. И отправляется по запросу "q". Например в файл ajaxQuickFind.php. В самом файле ajaxQuickFind.php следует заменить
$_RESULT['ajaxQuickFind'] = $out;
на
echo $out;
Для подгрузки регионов код соответственно будет следующий:
  jQuery("#country").change(function(){
var searchString = jQuery(this).val();
jQuery.ajax({
url: "index_ajax1.php",           
dataType : "html",                   
data: "q=includes/modules/ajax/loadStateXML.php&country_id="+searchString,
type: "POST",
success: function(msg){jQuery("#stateXML").html(msg);}
});


});[/code]

Из сего видно, что сам вид функции запроса одинаков, так что это можно обобщить, и скрипт уменьшится в разы

Ссылка на сообщение
Поделиться на другие сайты

Кроме того скрипты и css  лучше сжать в 2 статических файла и запихнуть в gzip. А при обновлении кэша в админке они будут перезаменятся. Но как сделать, чтоб все это работало с jsmin и csstidy в vamshop  я не знаю

Ссылка на сообщение
Поделиться на другие сайты

Спасибо за код.

Я вобщем-то в VaM Cart движке аналогично делаю ajax, через jQuery change и post.

Ну и в VaM Cart JS и CSS (http://vamcart.com/demo/admin/) объединяются и сжимаются в один файл, это тоже уже есть, наверно и в VaM Shop перенесу.

Проверю, если всё нормально, наверное добавлю по умолчанию и в VaM Shop.

Ссылка на сообщение
Поделиться на другие сайты

Встречный вопрос - есть пути конвертации БД из VAMSHOP в VaM Cart ? :) Чтобы уже перейти на новый быстрый движок со старого без потери функционала.

Ссылка на сообщение
Поделиться на другие сайты

Пока что нет (хотя сейчас делаю как раз импорт/экспорт простой), но и не советую пока переходить, только если есть желание и возможность дописывать недостающие вещи.

У VaM Cart, в принципе, уже весь функционал основной есть (каталог, админка, корзина, оформление, модули оплаты, доставки, обратная связь, отправка email уведомлений, шаблоны писем и т.д.), но всё-таки в сравнении с VaM Shop ешё очень многого нет.

Хотя с другой стороны, там есть самое главное: CakePHP Framework с его современным подходом к созданию веб-приложений (MVC, ORM, так называемая "магия"), т.е. довольно сложные вещи делаются очень просто, буквально парой строк кода.

Я это просто говорю к тому, что вобщем-то всё это уже готово (тоже css сжатие, js сжаите, объединения css файлов в один, объединение js файлов в один), т.е. я это всё обкатываю на VaM Cart, затем переношу в VaM Shop просто потому что на CakePHP это делать ну очень удобно и очень быстро, в отличии от VaM Shop, где нужно лопатить пол-магазина иногда, что б сделать казалось бы элементарную вещь.

Ну и насчёт быстрого движка, это конечно не совсем так, CakePHP всё-таки не самый быстрый framework.

Ссылка на сообщение
Поделиться на другие сайты

Насчет лопатить полмага - я согласен. Главное, что в Vam Cart есть констракторы классов. То есть пятая версия php используется уже более весомо. Это позволит создавать плагины (которые можно вкл/выкл) без правки кода через делегирования, а не хаки.

Ссылка на сообщение
Поделиться на другие сайты

Ну да, ещё например для локализации используется gettext, а это значит, что при отсутствии перевода на другой язык, будет просто английский текст, а не неопределённые константы, как в VaM Shop, вобщем, опять же это стандартизация, .po файлы уже давно существуют, со своими правилами, стандартнами, есть отдельные редакторы .po файлов, опять же это упрощает жизнь программистам, переводчикам, вобщем, много чего интересного уже сделано.

Да и другой аспект, все библиотеки открытые (CakePHP, Smarty, PHPMailer, phpThumb, jQuery, SWFUpload, TinyMCE), все довольно популярные, со своей готовой документацией уже, с нуля документацию ту же не нужно делать, найти того же программиста гораздо легче, если используешь популярные и современные инструменты, а не какой-то свой "велосипед".

Я сейчас по-потихоньку наращиваю функционал VaM Cart, что б в итоге получить функционально похожий на VaM Shop движок, но на современных рельсах.

Ссылка на сообщение
Поделиться на другие сайты

Вот, например, сделал у себя ajaxsearch на Jquery http://e-parfums.kiev.ua/

И подгрузка регионов http://e-parfums.kiev.ua/create_account.php

Ссылка на сообщение
Поделиться на другие сайты

Это тот код, что выше приводили?!

Я проверю к следующей версии, если нормально всё, тогда по умолчанию в VaM Shop тоже так сделаю.

Ссылка на сообщение
Поделиться на другие сайты

Нет.

Создайте тему в разделе Коммерческие предложения, наверняка кто-то откликнется.

Ссылка на сообщение
Поделиться на другие сайты

Есть еще такой трабл в накопительных пределах. Если человек достиг накопительной суммы N1, ему присылается письмо: "Поздравляем,...., ваша новая скидка 3%". Далее этот человек делает заказы, и ему каждый раз при заказе присылается такое же письмо, пока он не достигнет следующей суммы, потом будет соответственно слаться:  "Поздравляем,...., ваша новая скидка 5%". Есть смысл изменить письмо на: "...Ваша скидка составляет 3%, до следующей скидки Вам надо набрать N2 'денег:)' ...".

Ссылка на сообщение
Поделиться на другие сайты

Вижу что поднимали вопрос про старые и новые урлы.

Так вот, после апдейта старые урыл не должны отвечать 404, они должны отвечать 301 и редиректить на новый вид урла.

Очень актуально если у вас очень старый магазин с старыми метровыми урлами, а хочется навести порядок.

Причина проста, есть такое понятие как возраст конкретной страницы (не путать с доменом) и накопленная ссылочная масса.

Так же хороша была бы возможность, при реструктуризации каталога, назначать 301 редирект для некоторых урлов.

Ссылка на сообщение
Поделиться на другие сайты

Это и так есть, но только для "ручных" URL адресов, которые задаются например у товаров в опции SEO URL товара.

Ссылка на сообщение
Поделиться на другие сайты

А по поводу последнего?

Так же хороша была бы возможность, при реструктуризации каталога, назначать 301 редирект для некоторых урлов.
Ссылка на сообщение
Поделиться на другие сайты

×
×
  • Создать...