<manufacturer_warranty>
true
</manufacturer_warranty>, если его нет, то false
Отправлено 11 April 2012 - 07:42 AM
<manufacturer_warranty>
true
</manufacturer_warranty>, если его нет, то false
Отправлено 11 April 2012 - 08:48 AM
Отправлено 11 April 2012 - 04:04 PM
Отправлено 11 April 2012 - 04:19 PM
можно любой инпут переделать в чекбокс. это всяко проще, потому что его ввод-вывод уже везде внесен.я тоже об этом подумал (использовать не нужный чек бокс), но может все-таки проще добавить новый это может понадобится, мало ли.
admin.phpНе могу найти в каком файле править страницу, где создается товар.
Отправлено 11 April 2012 - 05:26 PM
<tr class="lins"> <td> <input type=checkbox name='manufacturer_warranty' value='1' checked> Гарантия производителя </td></tr>Появился чекбокс уже отмеченный, так как чаще товар сертифицирован.
Отправлено 11 April 2012 - 06:05 PM
Выложите код, который Вы делали по аналогии, там не должно быть проблемИ вот теперь нужно записать значение в базу, как получится отпишусь.
$manufacturer_warranty = $_Post[manufacturer_warranty]
Отправлено 11 April 2012 - 07:12 PM
isset ($_POST["free_shipping"]),вставлял isset ($_POST["manufacturer_warranty"]), но не работает.
Отправлено 11 April 2012 - 07:27 PM
вставлял isset ($_POST["manufacturer_warranty"]), но не работает.
Отправлено 11 April 2012 - 09:54 PM
Отправлено 11 April 2012 - 10:22 PM
// save product if (isset($_POST["save_product"]) || isset($_POST["save_product_for_file"])) { if (CONF_BACKEND_SAFEMODE) //this action is forbidden when SAFE MODE is ON { Redirect(ADMIN_FILE."?safemode=yes&productID=".$_GET["productID"]."&eaction=prod"); } if ($_POST["save_product"] == 1 || $_POST["save_product_for_file"] == 1) { if ($_GET["productID"] == 0) { $productID = AddProduct($_POST["categoryID"], $_POST["name"], $_POST["price"], $_POST["description"], $_POST["in_stock"], $_POST["brief_description"], $_POST["list_price"], $_POST["product_code"], $_POST["sort_order"], isset($_POST["ProductIsProgram"]), "eproduct_filename", $_POST["eproduct_available_days"], $_POST["eproduct_download_times"], $_POST["weight"], $_POST["meta_description"], $_POST["meta_keywords"], isset ($_POST["free_shipping"]), isset ($_POST["manufacturer_warranty"]), $_POST["min_order_amount"], $_POST["shipping_freight"], $_POST["tax_class"], $_POST["title"]); $_GET["productID"] = $productID; $updatedValues = ScanPostVariableWithId(array("option_value", "option_radio_type")); configUpdateOptionValue($productID, $updatedValues); } else { UpdateProduct($productID, $_POST["categoryID"], $_POST["name"], $_POST["price"], $_POST["description"], $_POST["in_stock"], $_POST["rating"], $_POST["brief_description"], $_POST["list_price"], $_POST["product_code"], $_POST["sort_order"], isset($_POST["ProductIsProgram"]), "eproduct_filename", $_POST["eproduct_available_days"], $_POST["eproduct_download_times"], $_POST["weight"], $_POST["meta_description"], $_POST["meta_keywords"], isset ($_POST["free_shipping"]), isset ($_POST["manufacturer_warranty"]), $_POST["min_order_amount"], $_POST["shipping_freight"], $_POST["tax_class"], $_POST["title"]); $updatedValues = ScanPostVariableWithId(array("option_value", "option_radio_type")); configUpdateOptionValue($productID, $updatedValues); } if (CONF_UPDATE_GCV == '1') update_psCount(1); if (!isset($_POST["save_product_for_file"]) || $_POST["save_product_for_file"] != 1)ReLoadOpener(); } } if ($_POST["save_spwc"] == 1 && $_POST["AddProductAndOpenConfigurator"] == 0) { UpdateProduct($productID, $_POST["categoryID"], $_POST["name"], $_POST["price"], $_POST["description"], $_POST["in_stock"], $_POST["rating"], $_POST["brief_description"], $_POST["list_price"], $_POST["product_code"], $_POST["sort_order"], isset($_POST["ProductIsProgram"]), "eproduct_filename", $_POST["eproduct_available_days"], $_POST["eproduct_download_times"], $_POST["weight"], $_POST["meta_description"], $_POST["meta_keywords"], isset($_POST["free_shipping"]), isset ($_POST["manufacturer_warranty"]), $_POST["min_order_amount"], $_POST["shipping_freight"], $_POST["tax_class"], $_POST["title"]); $updatedValues = ScanPostVariableWithId(array("option_value", "option_radio_type")); configUpdateOptionValue($productID, $updatedValues); }ну вот сохранение данных, все вроде понятно, только не ясно что это за UpdateProduct и откуда берется
Отправлено 11 April 2012 - 10:38 PM
вот потому я и говорил, что проще брать неиспользованое поле, которе УЖЕ есть. доставка, например.ну вот сохранение данных, все вроде понятно, только не ясно что это за UpdateProduct и откуда берется
Отправлено 11 April 2012 - 11:07 PM
только не ясно что это за UpdateProduct и откуда берется
Отправлено 12 April 2012 - 11:22 AM
Отправлено 12 April 2012 - 07:33 PM
спасибо до этого уже давно догадался, но проблема в том, что не весь товар имеет эту гарантиюЕсли у Вас нет товара без гарантии производителя, то самый простой вариант в modules_yandex.php вставить строчку:
fputs( $f, " <manufacturer_warranty> true </manufacturer_warranty>\n");
перед:
fputs( $f, " </offer>\n");
Отправлено 12 April 2012 - 10:16 PM
Отправлено 12 April 2012 - 11:53 PM
странно, неужели никто не делал ничего подобного? Перебрал файл product_functions.php, добавил все опять по аналогии, но записи в базу не происходит, подскажите может еще что надо переделать?
Отправлено 13 April 2012 - 09:29 AM
Отправлено 13 April 2012 - 01:46 PM
разобрался:Сергей спасибо за объяснение, все вроде сделал как нужно. Решил пойти другим путем, переименовал free_shipping на manufacturer_warranty, все теперь в базу записывается, стал вопрос как сделать проверку в файле modules_yandex.php
$sql = "select productID, name, Price, categoryID, default_picture".$dsc_q.", in_stock from ".PRODUCTS_TABLE." where enabled=1".$clause;и добавляем manufacturer_warranty
$sql = "select productID, manufacturer_warranty, name, Price, categoryID, default_picture".$dsc_q.", in_stock from ".PRODUCTS_TABLE." where enabled=1".$clause;Далее находим примерно 126 и под ней добавляем
fputs( $f, " <manufacturer_warranty>".(($product['manufacturer_warranty']==1)?'true':'false')."</manufacturer_warranty>\n" );Вот и все, вроде работает как надо, но все равно попробую сделать отдельный чекбокс.