0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 6225 Просмотров
*

Syn

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
  • www.rdcor.com
Давно где-то надыбал данный хак (кажись даже на этом форуме), немного модифицировал и чего-то добавил (уже не помню что именно).
Вобщем выкладываю конечный результат.

копируем файлы из архива в /administrator/components/com_virtuemart/html/
открываем файл shop.browse.php находим старую форму кнопки и заменяем кодом:
Код
/*** Ajax Add-to-Cart Button ***/
if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )) {
$form_addtocart = "<img id=\"img_".$db_browse->f("product_id")."\" src=\"".IMAGEURL."ps_image/add-to-cart1.gif\"
onClick=\"tocart(1,". $db_browse->f("product_id") .");return false;\" />\n";
} else
$form_addtocart = "";

далее ткрываем файл shop.product_details.php и старый код кнопки заменяем кодом:
Код
/*** Ajax Add-to-Cart Button ***/
if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )) {
$addtocart = "<img id=\"img_".$db_product->f("product_id")."\" src=\"".IMAGEURL."ps_image/add-to-cart1.gif\"
onClick=\"tocart(1,". $db_product->f("product_id") .");return false;\" />\n";
} else
$addtocart = "";

в бошки обоих файлов закидываем пару строк:
Код
require("Sajax.php");
require("Sajax.knopa.php");

PS - если я ничего не забыл. то все это дело сохраняем и радуемся жизни.
на сим финиш.

[вложение удалено Администратором]
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
Re: Кнопка AJAX добавления в корзину
« Ответ #1 : 09.08.2008, 11:54:40 »
В Virtuemart 1.1 товары в корзину добавляются изначально на Аяксе. Для какой версии хак?
*

Sulpher

  • Живу я здесь
  • 2112
  • 401 / 16
  • Шаблоны и расширения Joomla
Re: Кнопка AJAX добавления в корзину
« Ответ #2 : 30.08.2008, 16:42:37 »
Syn, сделал, как ты написал, но вообще пропала возможность покупки. :-)
Подозреваю, что неправильно указан путь и не срабатывает что-то...

Файлы из приаттаченного архива закидываю в корень с shop.browse.php и shop.product_details.php.  Правильно?

P.S. ВМРЕ 1.0.15, Joostina 1.1.3
*

Sulpher

  • Живу я здесь
  • 2112
  • 401 / 16
  • Шаблоны и расширения Joomla
Re: Кнопка AJAX добавления в корзину
« Ответ #3 : 30.08.2008, 17:34:34 »
Syn, подскажи, пожалуйста, какие строки (с какой по какую) нужно удалить и на их место вставить хаки?
*

Syn

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
  • www.rdcor.com
Re: Кнопка AJAX добавления в корзину
« Ответ #4 : 31.08.2008, 06:14:17 »
для начала замечу, что все это хозяйство делалось под вирт 1.0.12 онли! (но с 1.0.15 отличий фактически нет)
по поводу выкладки в корень - не знаю что ты там куда выкладываешь, но об этом написано - в директорию html (вирта)

а в файлах только заменить стандартные коды кнопок кодами из первого поста (строки у меня очень отличаются поэтому бесполезно)
кусок - отвечающий за кнопку в стандарте Add-to-Cart Button и ADD-TO-CART
вот эти куски и поменять на нужные (см. первый пост)

и добавить в оба файла сразу после
Код
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
две строки из того же первого поста.

файл shop.cart.php втупую заменить файлом из архива.
« Последнее редактирование: 31.08.2008, 07:07:03 от Syn »
*

Sulpher

  • Живу я здесь
  • 2112
  • 401 / 16
  • Шаблоны и расширения Joomla
Re: Кнопка AJAX добавления в корзину
« Ответ #5 : 31.08.2008, 11:36:57 »
Значит, действия следующие:
Открываю файл shop.product_details.php и заменяю строки 294-324:
Код
/* ADD-TO-CART */
  $addtocart = "<div>
    <form action=\"". $mm_action_url."index.php\" method=\"post\" name=\"addtocart\" id=\"addtocart\">"
          .$ps_product_attribute->list_attribute($product_id)
          // added for the advanced attribute modification
          .$ps_product_attribute->list_advanced_attribute($product_id)
          // end added for advanced attribute modification
          .$ps_product_attribute->list_custom_attribute($product_id);
          // end added for custom attribute modification
if (USE_AS_CATALOGUE != '1'
&& $product_price != ""
&& !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )
&& $auth['show_prices']) {
$quantity = mosGetParam( $_REQUEST, 'quantity', 1 );
        $addtocart .= "
        <p><label for=\"quantity\" style=\"vertical-align: middle;\">".$VM_LANG->_PHPSHOP_CART_QUANTITY.":</label>
            <input type=\"text\" class=\"inputbox\" size=\"4\" id=\"quantity\" name=\"quantity\" value=\"$quantity\" style=\"vertical-align: middle;\" />&nbsp;
            <input type=\"submit\" ";
        $addtocart .= "style=\"text-align:center;background-position:bottom left;width:160px;height:35px;cursor:pointer;border:none;font-weight:bold;font-family:inherit;background: url('". IMAGEURL ."ps_image/".PSHOP_ADD_TO_CART_STYLE ."') no-repeat left center transparent;vertical-align: middle;\" ";
        $addtocart .= "value=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO ."\" title=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO."\" />
          </p>
      <input type=\"hidden\" name=\"flypage\" value=\"shop.$flypage\" />
      <input type=\"hidden\" name=\"page\" value=\"shop.cart\" />
      <input type=\"hidden\" name=\"manufacturer_id\" value=\"$manufacturer_id\" />
      <input type=\"hidden\" name=\"category_id\" value=\"$category_id\" />
      <input type=\"hidden\" name=\"func\" value=\"cartAdd\" />
      <input type=\"hidden\" name=\"option\" value=\"$option\" />
      <input type=\"hidden\" name=\"Itemid\" value=\"$Itemid\" />";
}
    $addtocart .= "</form>
    </div>";

на это:
Код
/*** Ajax Add-to-Cart Button ***/
if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )) {
$form_addtocart = "<img id=\"img_".$db_browse->f("product_id")."\" src=\"".IMAGEURL."ps_image/add-to-cart1.gif\"
onClick=\"tocart(1,". $db_browse->f("product_id") .");return false;\" />\n";
} else
$form_addtocart = "";

Добавляю две строки из первого поста после defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );.

Открываю файл shop.browse.php и заменяю код со строчек 423-438:
Код
		/*** Add-to-Cart Button ***/
if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )) {
$form_addtocart = "<form action=\"". $mm_action_url ."index.php\" method=\"post\" name=\"addtocart\" id=\"addtocart".$i."\">\n
                <label for=\"quantity_".$i."\">".$VM_LANG->_PHPSHOP_CART_QUANTITY.":</label>\n
                <input id=\"quantity_".$i."\" class=\"inputbox\" type=\"text\" size=\"3\" name=\"quantity\" value=\"1\" />
                <input type=\"submit\" style=\"text-align:center;background-position:bottom left;width:160px;height:35px;cursor:pointer;border:none;font-weight:bold;font-family:inherit;background: url('". IMAGEURL ."ps_image/".PSHOP_ADD_TO_CART_STYLE ."') no-repeat left center transparent;vertical-align: middle;overflow:hidden;\" value=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO ."\" title=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO."\" />
                <input type=\"hidden\" name=\"category_id\" value=\"". @intval($_REQUEST['category_id']) ."\" />\n
                <input type=\"hidden\" name=\"product_id\" value=\"". $db_browse->f("product_id") ."\" />\n
                <input type=\"hidden\" name=\"page\" value=\"shop.cart\" />\n
                <input type=\"hidden\" name=\"func\" value=\"cartadd\" />\n
                <input type=\"hidden\" name=\"Itemid\" value=\"$Itemid\" />\n
                <input type=\"hidden\" name=\"option\" value=\"com_virtuemart\" />\n
              </form>\n";
}
else
$form_addtocart = "";

на этот фрагмент:
Код
/*** Ajax Add-to-Cart Button ***/
if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )) {
$addtocart = "<img id=\"img_".$db_product->f("product_id")."\" src=\"".IMAGEURL."ps_image/add-to-cart1.gif\"
onClick=\"tocart(1,". $db_product->f("product_id") .");return false;\" />\n";
} else
$addtocart = "";

Повторяю добавление require("Sajax.php"); require("Sajax.knopa.php"); в хэдер.
Сами файлы залиты в html корень магазина.

Посмотри, может я удалил лишние строчки? (код привёл выше)

Файл shop.cart.php из архива топика накатить не могу, т.к. в моём файле уже присутствует модификация для сортировки по производителю.

На всякий случай прилагаю вариант shop.cart.php и shop.product_details.php, которые используются у меня на сайте (с сортировкой по производителю)
Буду премного благодарен, если поможешь добавить хак с Ajax корзиной в эти файлы. ;) ну или исходя из этого поста, подскажешь, где допущена ошибка.

[вложение удалено Администратором]
*

morph

  • Давно я тут
  • 923
  • 105 / 0
Re: Кнопка AJAX добавления в корзину
« Ответ #6 : 01.09.2008, 10:11:30 »
Цитировать
Syn, сделал, как ты написал, но вообще пропала возможность покупки. :-)
есть такое,даже если изменить add-to-cart1.gif на реальное изображение
*

Hellga

  • Новичок
  • 1
  • 0 / 0
Re: Кнопка AJAX добавления в корзину
« Ответ #7 : 13.04.2009, 16:00:42 »
Если вставлять свою картинку, то в файле Sajax.knopa.php надо поправить пути к картинкам. Тогда все работает.
Если это еще актуально кому-то...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Эффект добавления в корзину

Автор Sanyo

Ответов: 115
Просмотров: 37053
Последний ответ 08.11.2014, 22:09:13
от site-logic
Компонент и модуль поиска товаров VirtueMart 1.0.15 на Ajax

Автор Arkadiy

Ответов: 148
Просмотров: 63900
Последний ответ 28.06.2014, 19:11:54
от DeLight
Расширенный Ajax-поиск по характеристикам товара VirtueMart

Автор Arkadiy

Ответов: 990
Просмотров: 195255
Последний ответ 27.06.2014, 16:47:52
от DeLight
Дополнительная кнопка купить

Автор Mishok333

Ответов: 7
Просмотров: 1380
Последний ответ 21.05.2014, 14:13:31
от Mishok333
Кнопка "Очистить корзину" VirtueMart Shopping Cart

Автор Iraina

Ответов: 3
Просмотров: 7179
Последний ответ 30.04.2014, 10:47:03
от q3scream