Jump to content

mess@nger

Members
  • Posts

    68
  • Joined

  • Last visited

About mess@nger

  • Birthday 08/28/1990

Contact Methods

Profile Information

  • Location
    Zhitomir
  • First Name
    Sviatoslav
  • Activity
    Developer

mess@nger's Achievements

Newbie

Newbie (1/14)

2

Reputation

  1. $customization = $exising_customization[0]['id_customization']; Db::getInstance()->execute( 'UPDATE `' . _DB_PREFIX_ . 'customized_data` SET `price` = ' . $pathData['price'] . ' WHERE `id_customization` = ' . (int)$customization . ' AND `value` = "' . $pathData['name'] . '"' ); $cart->updateQty( 1, $product->id, null, $customization, 'up' ); solved via DB, looks as this code work for me, but will be happy if someone adds better solution
  2. Greetings I'm creating a module for the specific product. I'm using text customization, and want to add a product with customization into cart via my module. I've already done with product adding to a cart, and now need to calculate a price for customization. I need to ask 3d party API to calculate a price for customization. Off course I can change ps_customized_data.price directly in DB or use override, but I would like to know if there's a better way? My current code to add item into cart: $this->context->cart->addTextFieldToProduct( $product->id, $customizationFieldId, Product::CUSTOMIZE_TEXTFIELD, $pathData['name'] ); $exising_customization = Db::getInstance()->executeS('SELECT id_customization FROM ' . _DB_PREFIX_ . 'customized_data ORDER BY id_customization DESC LIMIT 0,1'); $customization = $exising_customization[0]['id_customization']; $cart->updateQty( 1, $product->id, null, $customization, 'up' ); die(json_encode([ 'result' => $cart->update() ])); addTextFieldToProduct does not allow me to control price, and I do not see some entity to control those DB data. Also in updateQty I would like to have 'equal' operator, cause I need only 1 item per customization, but not so crucial. Also as I've understood I can't change info inside hooks, right? $data in Hook::exec($name, $data) is not passed by pointer. I think good points to calculate price are actionCartUpdateQuantityBefore or actionCartSave.
  3. Преамбула: Кто это так назвал? =))) Собственно вопрос: Заметил что фильтры отображают комбинации которых уже нет. Тобишь, есть у меня футболка, изначально в 3х размеров. Выкупили XL и L размеры, но в фильтр по L или XL размеру они попадают.
  4. смотря какой магазин... у нас полет нормальный.
  5. Выражение "с налогом" тоже будет некорректным. Смысл НДС в том что юридически его платит покупатель. Единый налог для ФЛП 1-ой и 2-ой группы вообще является фиксированным, 3-ей и выше - процент от оборота, но его юридически платит тоже сам ФЛП-шник, в случае с фиксированной вендором ценой на продукт налог не может влиять на цену (к примеру антивиры ЕСЕТ) . По топику - уберите в Вашем шаблоне упоминания о налогах, жестко, но наверняка.
  6. Будучи плательщиком единого налога мне вовсе не обязательно быть плательщиком НДС, и даже на общей системе не обязательно быть плательщиком НДС (по крайней мере в Украине) и при этом ЗУ будут соблюдены =)
  7. Эмм... Если я не плательщик НДС, то его нет. Нулевая ставка - это другое.
  8. По теме, именно в этом месте - или в шаблоне, или в переводах. (по крайней мере у меня так было) В большинстве случаев помогает отключение налогов в конфигурации.
  9. Не все являются плательщиками НДС, а указывать единый налог в цене - глупо.
  10. Вы можете дополнительно задать еще один атрибут, нужно будет забить все ткани и дальше в товарах настроить комбинации.
  11. мне кажется Вам поможет файл blockcallbak.css Автору огромный респект! Модуль в открытом доступе под прэсту - большая редкость. Полет нормальный на 1.6.0.5 Странно, на сервере норм установился, на denwer не хочет, ошибка при установке явно, т.к. таблица не создается и хуки не прописываются.
  12. C 1.4 я никогда не работал. Знакомство с прэстой у меня началось с 1.5 и сейчас изучаю 1.6. =) 1) "Сливать" в одну карточку YM должен по полю group_id. 2) Почитайте о комбнациях на YM, если я не ошибаюсь там идет разделение только на цвето-размерную характеристику, соответственно остальная атрибутика должна уйти\сгрупироваться. 3) В данном коде я с картинками и не заморачивался... Кстати хорошо, что напомнили: $images = $prod->getImages($id_lang); - даст все картинки (у меня просто на самом деле во всех товарах только один цвет) для вывода картинок под атрибуты есть другая функция. А в Вашем случае как раз и нужна одна картинка... ...На хотлайне у меня нормально отобразилось, а c YM еще проверки не было, сегодня-завтра будет тоже видно.
  13. Правильный код под yml типа vendor с размерно-цветовыми комбинациями (принятые Яндексом и hotline.ua) =)) <?php include(dirname(__FILE__).'/config/config.inc.php'); include(dirname(__FILE__).'/init.php'); $cfgFile = dirname(__FILE__). '/config/settings.inc.php'; $id_lang=8; //Язык по умолчанию intval(Configuration::get('PS_LANG_DEFAULT')) $curr_def=new Currency(intval(Configuration::get('PS_CURRENCY_DEFAULT'))); //Валюта по умолчанию $shopUrl='http://www.jordia.com.ua'; header("Content-Type: text/xml;"); echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; echo "<!DOCTYPE yml_catalog SYSTEM \"shops.dtd\"><yml_catalog date=\"".date('Y-m-d H:i')."\">"; echo "<shop><name>Jordia - Esthetic Clothes</name><company>ЧП Ронская Н.М.</company>"; echo "<url>http://jordia.com.ua</url><platform>PrestaShop</platform><version>1.6</version><agency>ST studio</agency>"; echo "<email>".htmlspecialchars('...')."</email>"; //Вместо ... -мыл вставьте echo "<currencies><currency id=\"UAH\" rate=\"1\" /></currencies><categories>"; //Категории $categories=Category::getCategories($id_lang,false,false); foreach($categories as $category){ if (!in_array($category['id_category'],array(1,2))){ if ($category['id_parent']!=0){ $pid='" parentId="'.$category['id_parent']; } else {$pid="";} echo '<category id="'.$category['id_category'].$pid.'">'.$category['name'].'</category>'; } } unset($categories); echo "</categories><local_delivery_cost>45</local_delivery_cost><offers>"; //Продукты $p=Product::getSimpleProducts($id_lang); foreach ($p as $pr){ $prod=new Product($pr['id_product'], true, $id_lang); if ($prod->active){ $combinations=array(); $manufacturer = new Manufacturer($prod->id_manufacturer, $id_lang); $images = $prod->getImages($id_lang); $attributes_groups = $prod->getAttributesGroups($id_lang); foreach ($attributes_groups as $attr) { $combinations[$attr['id_product_attribute']]['attr'][$attr['id_attribute_group']] = $attr['attribute_name']; $combinations[$attr['id_product_attribute']]['quantity'] = $attr['quantity']; } foreach ($combinations as $k0=>$comb) { if ($comb['quantity']>0){ echo '<offer id="'.$k0.'" group_id="'.$pr['id_product'].'" type="vendor.model" available="true" >'; echo ' <url>'.$prod->getLink().'</url> <price>'.$prod->price.'</price> <currencyId>UAH</currencyId> <categoryId>'.$prod->id_category_default.'</categoryId>'; foreach($images as $im) { echo '<picture>'.$shopUrl.'/'.$im['id_image'].'-large_default/'.$prod->link_rewrite.'.jpg</picture>'; } echo ' <store>false</store><pickup>false</pickup><delivery>true</delivery> <vendor>'.htmlspecialchars($manufacturer->name).'</vendor> <model>'.htmlspecialchars($prod->name).'</model> <description>'.htmlspecialchars(strip_tags($prod->description_sort)).'</description>'; foreach ($comb['attr'] as $k=>$v) { if (($k==2)or($k==1)) {$name='Размер';$unit=' unit="INT"';} // $k - это ид атрибута, я свои точно знаю, себе поменяйте if ($k==3) {$name='Цвет';$unit='';} // аналогично echo '<param name="'.$name.'"'.$unit.'>'.$v.'</param>'; } echo '</offer>'; } } } } echo"</offers></shop></yml_catalog>"; ?>
×
×
  • Create New...