PbICb
Joostina
   
Репутация: +38/-0
Offline
Пол: 
Сообщений: 100
Мяфф...)
|
 |
« : 25.06.2008, 20:35:32 » |
|
Так как не увидела "вменяемых" инструкций на данную тему, а вопросы продолжают поступать (на форуме, в аську, почту и т.п.) - решила написать свою "шпаргалку". Может быть, кому-нибудь пригодится. 1. Открываем phpMyAdmin, щелкаем по имени талички #__vm_product. Под таблицей с перечнем полей есть область для добавления нового поля ( Рис.1). Создаем новое поле типа varchar с именем product_sku2 ( Рис.2). Новое поле появилось в списке полей данной таблицы ( Рис.3). 2. Переходим к редактированию файла administrator/com_virtuemart/html/product.product_form.php. Этот файл содержит форму добавления/редактирования товара. Сюда нам необходимо добавить новое поле ввода для ввода значения "product_sku2". Находим строчку, где расположено поле для ввода артикула (product_sku). Вот такой участок кода: <tr> <td width="21%" ><div style="text-align:right;font-weight:bold;"><?php echo $VM_LANG->_PHPSHOP_PRODUCT_FORM_SKU ?>:</div> </td> <td width="79%" height="2"> <input type="text" class="inputbox" name="product_sku" value="<?php echo shopMakeHtmlSafe( $db->sf("product_sku") ); ?>" size="32" maxlength="64" /> </td> </tr>Копируем код и вставляем ниже. Заменяем текстовую переменную на "Еще один артикул" (например), а имя текстового поля на product_sku2. Должно получиться примерно так: <tr> <td width="21%" ><div style="text-align:right;font-weight:bold;"><?php echo "Еще один артикул" ?>:</div> </td> <td width="79%" height="2"> <input type="text" class="inputbox" name="product_sku2" value="<?php echo shopMakeHtmlSafe( $db->sf("product_sku2") ); ?>" size="32" maxlength="64" /> </td> </tr>Сохраняем изменения. Открываем в админке VirueMart форму добавления товара. Любуемся на результат. ( Рис.4). 3. Открываем файл administrator/com_virtuemart/clases/ps_product.phpЗдесь нас интересуют две функции. Первая - добавление нового товара. Ищем участок кода, содержащий " function add". Недалеко от начала функции, после следующего участка кода: $timestamp = time(); $db = new ps_DB;
if (empty($d["product_publish"])) { $d["product_publish"] = "N"; } добавляем $product_sku2=$_POST["product_sku2"]; Теперь пишем значение в базу. Чуть ниже места, где мы добавили предыдущую строчку начинается большой блок вставки данных в таблицу. Добавляем product_sku2 сразу после product_sku: $q = "INSERT INTO #__{vm}_product (vendor_id,product_parent_id,product_sku,product_sku2"; $q .= "product_name,product_desc,product_s_desc,"; .............................................. .............................................. $q .= "VALUES ('"; $q .= $d['vendor_id'] . "','" . $d["product_parent_id"] . "','"; $q .= $d["product_sku"] . "','" . $d["product_name"] . "','" . $d["product_name"] . "','"; .............................................. .............................................. Далее, переходим к функции, отвечающей за изменение данных о товарах: function update. Также добавлем $product_sku2=$_POST["product_sku2"]; и ниже, где происходит обращение к БД: $q = "UPDATE #__{vm}_product SET "; $q .= "product_sku='" . $d["product_sku"] . "',"; $q .= "product_sku2='" . $d["product_sku2"] . "',"; $q .= "vendor_id='" . $d["vendor_id"] . "',"; ............................................................ 4. Теперь попросим VirtueMart включить данные из нашего новорожденного поля в выборку при обращении к странице просмотра товаров в категории или при просмотре карточки товара. Для этого открываем файл administrator/com_virtuemart/html/shop_browse_queries.php. Находим в перечсилении полей для выборки (то, что записано в $fieldnames = "", в самом начале файла) `product_sku` и после запятой добавляем `product_sku2`. 5. Сейчас самое время создать "заглушку" для шаблона категории. Для этого открываем файл administrator/com_virtuemart/html/shop_browse.php и ищем блок, начинающийся такими комментариями: /*** Now fill the template Находим: $product_cell = str_replace( "{product_sku}", $db_browse->f("product_sku"), $product_cell ); Этой строчкой формируется "заглушка" для отображения артикула товара, который мы используем в шаблоне в виде: {product_sku}. Добавляем заглушку для нашего нового поля: $product_cell = str_replace( "{product_sku2}", $db_browse->f("product_sku2"), $product_cell ); 6. Открываем шаблон категории (по умолчанию browse_1.php) и добавляем {product_sku2} в нужное место. 7. Для добавления "заглушки" в шаблон полного описания товара: - открываем файл administrator/com_virtuemart/html/shop.product_details.php, почти в самом конце файла после: $template = str_replace( "{product_sku}", $db_product->f("product_sku"), $template ); добавляем: $template = str_replace( "{product_sku2}", $db_product->f("product_sku2"), $template ); и используем {product_sku2} в своем шаблоне карточки товара. Мотор! Снято! Всем спасибо ))
|
|
|
|
|
Записан
|
|
|
|
| |
secretlive
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 60
|
 |
« Ответ #1 : 10.08.2008, 15:34:11 » |
|
Урок очень полезный, но уж есть некие неточности
|
|
|
|
|
Записан
|
|
|
|
Luchik
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Сообщений: 69
|
 |
« Ответ #2 : 14.08.2008, 01:34:13 » |
|
VirtueMart 1.1.2 stable
Как добавить чекбоксы, что бы при нажатии определенных на сайте эти свойтва выводились через запятую? Я так понял надо вместо параметра varchar взять enum. Но что-то пока не получаеться.
Застрял в файле administrator/com_virtuemart/clases/ps_product.php Что-то у меня все подругому.
Например, для varchar надо писать: 'product_length' => vmRequest::getInt('product_length'), А для Enum что надо писать?
|
|
|
|
« Последнее редактирование: 14.08.2008, 17:01:09 от Luchik »
|
Записан
|
|
|
|
|
BIGGER_STAS
Гость
|
 |
« Ответ #3 : 20.02.2009, 23:49:27 » |
|
Я проделал Все вроде также! А при добавлении товара пишет ОШИБКА: ОТСУТСТВУЕТ ID ТОВАРА!
В чем может быть проблема,народ подскажите плиз!!!!
|
|
|
|
|
Записан
|
|
|
|
alf-nn
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 21
|
 |
« Ответ #4 : 20.07.2009, 22:08:05 » |
|
Спасибо! Всё пашет! Только я видно где-то накосячил: не пишется в базу значение созданного поля из админки. А их csv всё пишется. Где копать, не подскажите?
|
|
|
|
|
Записан
|
|
|
|
alf-nn
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 21
|
 |
« Ответ #5 : 21.07.2009, 01:26:03 » |
|
Сорри, нашел ошибку - фaйл ps_product недохакнул)
|
|
|
|
|
Записан
|
|
|
|
Pan4eZzz
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 16
|
 |
« Ответ #6 : 27.09.2009, 00:12:29 » |
|
Все замечательно работает под vm1.0.* вот только вопрос как за место к примеру: <input type="text" class="inputbox" name="product_sku" value="<?php echo shopMakeHtmlSafe( $db->sf("product_sku") ); ?> сделать комбобокс например: <select name="tt"> <option disabled>Выберите:</option> <option value="t1" selected>t1</option> <option value="t2" selected>t2</option> </select>
|
|
|
|
|
Записан
|
|
|
|
secretlive
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 60
|
 |
« Ответ #7 : 29.10.2009, 11:22:35 » |
|
а что нужно сделать что бы в созданное поле через CSV Improved можно было заливать информацию, а то CSV Improved 1,7 не видит эту таблицу (((
и еще не получается вывести в шоп.бровзе созданное поле, ведь в виртуе 1,1,3 не такие заглушки, попробовал сделать по аналогии но не вышло, кто подскажет (((
|
|
|
|
« Последнее редактирование: 29.10.2009, 11:34:22 от secretlive »
|
Записан
|
|
|
|
gandgy
Осваиваюсь на форуме
 
Репутация: +0/-3
Offline
Сообщений: 37
|
 |
« Ответ #8 : 30.10.2009, 23:11:59 » |
|
та же ерунда, не могу в 1.1.3 вывести переменную. Передаю ее значение из таблицы вот так в shop.browse $products[$i]['nalichie'] = $db_browse->f("nalichie"); - пытаюсь вывести в шаблоне echo $nalichie ; ничег оне выводится
|
|
|
|
|
Записан
|
|
|
|
Erepb
Осваиваюсь на форуме
 
Репутация: +4/-0
Offline
Сообщений: 44
|
 |
« Ответ #9 : 02.11.2009, 19:38:17 » |
|
Немножко являюсь чайником, однако, получилось сделать то, что задумывал (j1.5.12, vm1.1.3). Надеюсь, пригодится мне подобным. В оформляемом мною магазине главенствующим элементом идентификации товара является внутренний код, а, непосредственно, артикул - лишь дополнение, хоть и обязательное. Я не стал мудрить с дополнительными полями - не хочется переделывать еще и CSV-импорт-экспорт, поэтому для внутреннего кода уделил место артикула, а артикул поместил в поле "Дополнительные IDs", которое соответствует полю "child_option_ids" базы данных (jos_vm_product -> child_option_ids). Далее, дополнил шесть файлов: browse_listtable.tpl.php (components/com_virtuemart/themes/default/templates/browse/includes) flypage.tpl.php (components/com_virtuemart/themes/default/templates/product_details) ps_product.php (administrator/components/com_virtuemart/classes) russian.php (administrator/components/com_virtuemart/languages/common) shop.browse.php (administrator/components/com_virtuemart/html) shop_browse_queries.php (administrator/components/com_virtuemart/html) 1.browse_listtable.tpl.php после if (count ($products)) { $tableheader[] = $VM_LANG->_('PHPSHOP_CART_NAME'); вставил $tableheader[] = $VM_LANG->_('PHPSHOP_ART'); и после $data[$row][] = '<a href="'.$product['product_flypage'].'" title="'.$product['product_name'].'">'.$product['product_name'].'</a>'; вставил $data[$row][] = $product['child_option_ids']; 2.flypage.tpl.php после <h1><?php echo $product_sku ?><?php echo '.' ?> <?php echo $product_name ?> <?php echo $edit_link ?></h1> вставил <br/><i><?php echo 'Артикул: ' ?><?php echo $child_option_ids ?></i> 3.ps_product.php вместо строки 303 'child_option_ids' => vmGet($d,'included_product_id'), вставил 'child_option_ids' => vmGet($d,'child_option_ids'), вместо стр. 502 'child_option_ids' => vmGet($d,'included_product_id'), вставил 'child_option_ids' => vmGet($d,'child_option_ids'), после стр. 2617 $featured_products[$i]['product_url'] = $db->f("product_url"); вставил $featured_products[$i]['child_option_ids'] = $db->f("child_option_ids"); 4.russian.php после стр. $langvars = array ( вставил 'PHPSHOP_ART' => 'Арт.', 5.shop.browse.php после стр. 936 $products[$i]['manufacturer_link'] = $manufacturer_link; добавил $products[$i]['child_option_ids'] = $db_browse->f("child_option_ids"); 6.shop_browse_queries.php в строке 71 $fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`,
`#__{vm}_product`.`product_id`,`product_full_image`,`product_thumb_image`,`product_s_desc`,`product_parent_id`,`product_publish`,`child_option_ids`,`product_in_stock`,`product_sku`, `product_url`,
`product_weight`,`product_weight_uom`,`product_length`,`product_width`,`product_height`,`product_lwh_uom`,`product_in_stock`,`product_available_date`,`product_availability`,`#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`"; можно увидеть `child_option_ids` - вот это и добавил далее, после стр. 191 $sq .= "\n `#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR "; добавил $sq .= "\n `#__{vm}_product`.`child_option_ids` LIKE '%$searchstring%' OR "; после стр. 259 $sq .= "\n `#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR "; вставил $sq .= "\n `#__{vm}_product`.`child_option_ids` LIKE '%$searchstring%' OR "; после стр. 321 $sq .= "\n `#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR "; вставил $sq .= "\n `#__{vm}_product`.`child_option_ids` LIKE '%$searchstring%' OR "; Что наделал - понимаю не всё, но имею артикул в табличном списке товаров, подробном описании товара и поиск по артикулу, что меня очень обрадовало. К тому же, пользуюсь стандартным CSV improved, используя поле product_s_desc в качестве артикула. А еще надеюсь на помощь гуру, которые подскажут, чего делать было не обязательно.
|
|
|
|
« Последнее редактирование: 02.11.2009, 19:45:33 от Erepb »
|
Записан
|
|
|
|
gandgy
Осваиваюсь на форуме
 
Репутация: +0/-3
Offline
Сообщений: 37
|
 |
« Ответ #10 : 03.11.2009, 13:07:44 » |
|
А можете пожалуйста помочь вывести данные из таблицы в шаблон (( Я создал руками поле чек-бокс, которое означает наличие или отсутствие товара. Значение чек бокса передаются в таблицу nalichie в таблице #__vm_product, туда же где хранятся все атрибуты товара, имя и прочее. Данные передаются в таблицу - я проверял. Значение может быть 1 или 0, но теперь я не знаю как вывести эти данные в переменную, чтобы использовать в шаблоне browse((( К сожалению я не силен в программировании настолько ( Версия моего магазина 1.1.4 Заранее благодарен.
|
|
|
|
« Последнее редактирование: 03.11.2009, 13:47:44 от gandgy »
|
Записан
|
|
|
|
|
|
Erepb
Осваиваюсь на форуме
 
Репутация: +4/-0
Offline
Сообщений: 44
|
 |
« Ответ #12 : 04.11.2009, 17:17:03 » |
|
Значит, так. Поковырялся еще немного и выявил лишние действия. Но напишу все заново - так легче будет разобраться любому желающему. Да и самому тоже :-) Чтобы выложить инфу из какого-либо поля базы данных необходимо затронуть три файла: administrator/components/com_virtuemart/html/shop.browse.php administrator/components/com_virtuemart/html/shop_browse_queries.php и файл шаблона (я взял стандартный components/com_virtuemart/themes/default/templates/browse/browse_1.php) 1. В файле shop.browse.php после строки 453 $products[$i]['product_url'] = $db_browse->f("product_url"); добавил $products[$i]['child_option_ids'] = $db_browse->f("child_option_ids"); 2. В файле shop_browse_queries.php в строку 36 $fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`, `#__{vm}_product`.`product_id`,`product_full_image`,`product_thumb_image`,`product_s_desc`,`product_parent_id`,`product_publish`,`child_option_ids`,`product_in_stock`,`product_sku`, `product_url`, `product_weight`,`product_weight_uom`,`product_length`,`product_width`,`product_height`,`product_lwh_uom`,`product_in_stock`,`product_available_date`,`product_availability`,`#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`"; необходимо дописать `child_option_ids` (в моем случае) 3. Ну и, чтобы вывести содержимое поля, в файле browse_1.php в нужное место вставить <?php echo $child_option_ids ?> Все манипуляции производил на другом магазине (vm1.1.2, j1.5.8 ), поэтому нумерация строк не совпадает, однако таким образом получалось выводить данные из любого поля таблицы _vm_product. И, кажется, для индексирования поиска необходимо дописать файл shop_browse_queries.php как было предложено выше. Удачи!
|
|
|
|
« Последнее редактирование: 05.11.2009, 11:46:18 от Erepb »
|
Записан
|
|
|
|
|
morph
|
 |
« Ответ #13 : 05.11.2009, 05:46:14 » |
|
http://www.zaisl.info/2008/06/sozdanie-novogo-polya-dlya-tovara-virtuemart/ тоже на фсякий случай
|
|
|
|
|
Записан
|
|
|
|
gandgy
Осваиваюсь на форуме
 
Репутация: +0/-3
Offline
Сообщений: 37
|
 |
« Ответ #14 : 05.11.2009, 14:41:51 » |
|
Товарищ Erepb, я даже не знаю как благодарить! Наверное тока деньгами можно))) если оставете кошелек веб-мани рубли, скину денежку, рублей 200))) пустячок, но приятно
|
|
|
|
|
Записан
|
|
|
|
Erepb
Осваиваюсь на форуме
 
Репутация: +4/-0
Offline
Сообщений: 44
|
 |
« Ответ #15 : 05.11.2009, 16:32:18 » |
|
R364933727143 
|
|
|
|
|
Записан
|
|
|
|
vitaliy.balatskiy
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Пол: 
Сообщений: 105
|
 |
« Ответ #16 : 02.12.2009, 17:20:54 » |
|
Слушайте друзья , я вот уже затрагивал недавно похожую тему: http://joomlaforum.ru/index.php/topic,79197.msg460404.html#msg460404 А похожая она следующим. Нужно создать еще одно поле в админке, там же где мы добавляем товар, ну скажем сразу после названия товара пусть будет это поле. И в нем чтобы можно было писать какой хочеш текст но чтобы потом он выводился только в тайлах а не во flypage.tpl . Ну Вы думаю поняли. Тоесть когда раньше тайлы были такими: <title>Крісло для відпочинку із лози | Меблі з лози | Плетені меблі | All-mebli | Інтернет магазин меблів all-mebli.com.ua</title> А чтобы стали например такими: <title>Крісло для відпочинку із лози |Купить кресло качалку, цены, описание | Меблі з лози | Плетені меблі | All-mebli | Інтернет магазин меблів all-mebli.com.ua</title> Где текст "Купить кресло качалку, цены, описание" - это тот текст, который мы вводим в нашем новом поле. Как по мне очень класная штука как для СЕО будет. Кто нибудь подскажет как такое решить?
|
|
|
|
|
Записан
|
|
|
|
Fotpod
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 80
|
 |
« Ответ #17 : 09.12.2009, 02:51:31 » |
|
Вижу у многих с этим проблема - "Отсутствует ID товара"! У меня ВМРЕ 1.0.15b, Joomla 1.0.12, я уже раз 300 перечитывал статью, ничего не выходит. Причем при редактировании существующего товара все замечательно сохраняется. Уважаемые форумчане, подскажите пожалуйста как мне исправить данный баг? Может в коде ошибки? Просто очень необходимо обеспечить работоспособность магазина  .
|
|
|
|
|
Записан
|
|
|
|
Fotpod
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 80
|
 |
« Ответ #18 : 10.12.2009, 22:46:54 » |
|
Урок очень полезный, но уж есть некие неточности
может и по моей проблеме (2 поста выше) подскажете? ---------------------> Проблему решил. Ошибка была в файле class/ps_product.php прикладываю его (работает на ВМРЕ 1.0.15b). Пользуйтесь на здоровье)). P.S.: ТС поправь топик, негоже людей в заблуждение вводить. $q = "INSERT INTO #__{vm}_product (vendor_id,product_parent_id,product_sku,product_sku2"; $q .= "product_name,product_desc,product_s_desc,"; .............................................. .............................................. $q .= "VALUES ('"; $q .= $d['vendor_id'] . "','" . $d["product_parent_id"] . "','"; $q .= $d["product_sku"] . "','" . $d["product_name"] . "','" . $d["product_name"] . "','"; .............................................. .............................................. а должно быть: $q = "INSERT INTO #__{vm}_product (vendor_id,product_parent_id,product_sku,product_sku2,"; $q .= "product_name,product_desc,product_s_desc,"; .............................................. .............................................. $q .= "VALUES ('"; $q .= $d['vendor_id'] . "','" . $d["product_parent_id"] . "','"; $q .= $d["product_sku"] . "','" . $d["product_sku2"] . "','" . $d["product_name"] . "','"; .............................................. ..............................................
|
|
|
|
« Последнее редактирование: 13.12.2009, 15:32:05 от Fotpod »
|
Записан
|
|
|
|
diggs
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 48
|
 |
« Ответ #19 : 24.12.2009, 15:57:33 » |
|
Как сделать тоже самое для J.1.5 + VM 1.1.2. очень интересует!
|
|
|
|
|
Записан
|
|
|
|
terr
Завсегдатай
   
Репутация: +10/-4
Offline
Пол: 
Сообщений: 750
Ученик html-я
|
 |
« Ответ #20 : 17.03.2010, 15:30:26 » |
|
как вставить stock в карточку товара <tr> <td colspan="1"><br /><font color="#000000"> $we_have = $db->f{”product_in_stock”} >0 ? “<span style=\”color: green;\”>В наличии</span>” : “<span style=\”color: red;\”>Товар под заказ</span>”; $html .= “<td align=center>$we_have<td align=center>”; </td> </tr> кароче как никрути но не паказывает она кол товара а тока надпись {product_in_stock} как сделать чтоб отображало как в коде PHP если больше 0 то чтоб писало в наличии если 0 то чтоб писало под заказ?
|
|
|
|
|
Записан
|
|
|
|
|
kpk17
|
 |
« Ответ #21 : 21.03.2010, 21:13:50 » |
|
начиная с 3 пункта не могу найти подобных строк в файлах virt1.1.3 выложите пожалуйста файлы для 1.1.3
|
|
|
|
|
Записан
|
|
|
|
terr
Завсегдатай
   
Репутация: +10/-4
Offline
Пол: 
Сообщений: 750
Ученик html-я
|
 |
« Ответ #22 : 22.03.2010, 10:12:29 » |
|
вопро как в карточке товара вывести количаство товара сейчас выводится цифрами, а нужно чтобы если меньше 1 писало под заказ а от еденицы и более писало в наличии. как нарисовать ето в PHP подскажите //============ $available = 'false'; $quant = (int)$row['product_in_stock']; if ($quant) { $available = 'true'; } //============ echo"<offer id=\"".$rw."\" available=\"".$available."\" bid=\"1\">\Под заказ"; //echo"<offer id=\"".$rw."\" available=\"true\" bid=\"11\">\n"; таке не реботает а больше мыслей у меня на етот щет нет (((
|
|
|
|
|
Записан
|
|
|
|
Pashtetdiz
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 83
|
 |
« Ответ #23 : 30.03.2010, 01:29:52 » |
|
Как сделать тоже самое для J.1.5 + VM 1.1.2. очень интересует!
Поддерживаю у кого получилось подскажите пожалуйста, сам не могу сообразить т.к. в vm 1.1.2 файл ps_product.php видать отличается
|
|
|
|
|
Записан
|
|
|
|
diggs
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 48
|
 |
« Ответ #24 : 30.03.2010, 18:24:33 » |
|
Поддерживаю у кого получилось подскажите пожалуйста, сам не могу сообразить т.к. в vm 1.1.2 файл ps_product.php видать отличается
При версии Joomla RE 1.5.14 и Virtuemart 1.1.4 Для того, что бы выложить инфу из какого-либо поля базы данных, я сделал так: 1. В файле administrator/components/com_virtuemart/html/shop.browse.php $products[$i]['product_url'] = $db_browse->f("product_url"); добавил$products[$i]['child_option_ids'] = $db_browse->f("child_option_ids"); 2. В файле administrator/components/com_virtuemart/html/shop_browse_queries.php приблизительно в строку 36 необходимо дописать `child_option_ids` (!в моем случае!) $fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`, `#__{vm}_product`.`product_id`,`product_full_image`,`product_thumb_image`,`product_s_desc`,`product_parent_id`,`product_publish`,`child_option_ids`,`product_in_stock`,`product_sku`, `product_url`, `product_weight`,`product_weight_uom`,`product_length`,`product_width`,`product_height`,`product_lwh_uom`,`product_in_stock`,`product_available_date`,`product_availability`,`#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`"; 3. чтобы вывести содержимое поля, в файле browse_1.php в нужное место вставить <?php echo $child_option_ids ?> 4. в administrator/components/com_virtuemart/languages/common/russian.php после строки $langvars = array ( вставил'PHPSHOP_ART' => 'Арт.', * Где 'Арт.' - в принципе, можно поставить любое слово, которое будет знаменовать ваше выведенное поле. В данном случае - это артикул.
|
|
|
|
« Последнее редактирование: 30.03.2010, 18:30:57 от diggs »
|
Записан
|
|
|
|
Pashtetdiz
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 83
|
 |
« Ответ #25 : 31.03.2010, 12:23:12 » |
|
Спасибо diggs для вывода из бд помогло  , а как сделать чтоб данные туда добавлялись при создание товара? Пробовал по выше написанному, но не получается только в форме добавления товара поле появляется.
|
|
|
|
|
Записан
|
|
|
|
diggs
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 48
|
 |
« Ответ #26 : 31.03.2010, 17:14:57 » |
|
Спасибо diggs для вывода из бд помогло  , а как сделать чтоб данные туда добавлялись при создание товара? Пробовал по выше написанному, но не получается только в форме добавления товара поле появляется. Если в качестве поля, вы выбрали себе child_option_ids, то соответственно: Если добавляете товар через админку, то - сверху увидите вкладки, вам нужна вкладка "Показать опции", далее вы должны увидеть Дополнительные IDs ID товара, которое надо включить - вот сюда и вводите ваши данные. Если же вы добавляете товар через CSV Improved - то в вашем прайсе, добавьте поле child_option_ids.
|
|
|
|
|
Записан
|
|
|
|
Pashtetdiz
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 83
|
 |
« Ответ #27 : 31.03.2010, 19:41:26 » |
|
Супер! Все работает благодарю diggs  , теперь только въехал что вы использовали пустое поле. А вот если новое поле самому создать так вообще было бы шик. А какие еще поля можно так легко можно преобразовать под себя кроме Дополнительные IDs ID и Url?
|
|
|
|
« Последнее редактирование: 31.03.2010, 20:24:48 от Pashtetdiz »
|
Записан
|
|
|
|
vadim_tula
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 63
|
 |
« Ответ #28 : 03.04.2010, 12:01:34 » |
|
У кого нибудь есть решение по созданию поля в 1.1.4? я тормознулся на пункте 3 (добавление и апдейт), файл сильно отличается от предыдущей версии, хотелось бы научиться создавать поля. Просто требуется создать несколько полей, и решение не совсем подходит, но все же спасибо diggs за интересный подход.
|
|
|
|
« Последнее редактирование: 03.04.2010, 12:05:45 от vadim_tula »
|
Записан
|
|
|
|
|
igoryk
|
 |
« Ответ #29 : 04.04.2010, 01:57:57 » |
|
При версии Joomla RE 1.5.14 и Virtuemart 1.1.4 Для того, что бы выложить инфу из какого-либо поля базы данных, я сделал так: 1. В файле administrator/components/com_virtuemart/html/shop.browse.php $products[$i]['product_url'] = $db_browse->f("product_url"); добавил$products[$i]['child_option_ids'] = $db_browse->f("child_option_ids"); 2. В файле administrator/components/com_virtuemart/html/shop_browse_queries.php приблизительно в строку 36 необходимо дописать `child_option_ids` (!в моем случае!) $fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`, `#__{vm}_product`.`product_id`,`product_full_image`,`product_thumb_image`,`product_s_desc`,`product_parent_id`,`product_publish`,`child_option_ids`,`product_in_stock`,`product_sku`, `product_url`, `product_weight`,`product_weight_uom`,`product_length`,`product_width`,`product_height`,`product_lwh_uom`,`product_in_stock`,`product_available_date`,`product_availability`,`#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`"; 3. чтобы вывести содержимое поля, в файле browse_1.php в нужное место вставить <?php echo $child_option_ids ?> 4. в administrator/components/com_virtuemart/languages/common/russian.php после строки $langvars = array ( вставил'PHPSHOP_ART' => 'Арт.', * Где 'Арт.' - в принципе, можно поставить любое слово, которое будет знаменовать ваше выведенное поле. В данном случае - это артикул. А как сделать чтобы выводилось определенное изображение (присваемое из админки - подобие "время доставки")?
|
|
|
|
|
Записан
|
|
|
|
Nikita Web
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 58
|
 |
« Ответ #30 : 19.04.2010, 18:41:10 » |
|
здесь все очень круто...
а не подскажет кто нибудь как проделать тоже самое с ценой? добавить туда вторую цену - к примеру $product_price_2
готов отблагодарить веб-мани за помощь... очень нужена вторая цена товара, и второй столбик в корзине...
|
|
|
|
|
Записан
|
|
|
|
Yazi
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 80
|
 |
« Ответ #31 : 04.11.2010, 01:38:05 » |
|
Для Joomla 1.5 и VirtueMart 1.1.5 stable (у меня свойство color): пп 1 п. 2 После: <tr class="row0"> <td width="21%" > <div style="text-align:right;font-weight:bold;"><?php echo $VM_LANG->_('PHPSHOP_PRODUCT_FORM_SKU')?>:</div> </td> <td width="79%"> <input type="text" class="inputbox" name="product_sku" value="<?php $db->sp("product_sku"); ?>" size="32" maxlength="64" /> </td> </tr> Добавляем: <tr class="row1"> <td width="21%" > <div style="text-align:right;font-weight:bold;"><?php echo $VM_LANG->_('PHPSHOP_PRODUCT_COLOR')?>:</div> </td> <td width="79%"> <input type="text" class="inputbox" name="color" value="<?php $db->sp("color"); ?>" size="32" maxlength="64" /> </td> </tr> п.3 после: $fields = array ( 'vendor_id' => $vendor_id, 'product_parent_id' => vmRequest::getInt('product_parent_id'), 'product_sku' => vmGet($d,'product_sku'), добавляем: 'color' => vmGet($d,'color'), п.4 В шаблоне прописываем <?php echo $color ?> Все.
|
|
|
|
|
Записан
|
|
|
|
TakT
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Пол: 
Сообщений: 111
|
 |
« Ответ #32 : 04.12.2010, 17:04:01 » |
|
пожалуйста скиньте кто нить уже исправленные файлы, у меня Joomla 1.5.22 и VirtueMart 1.1.5 Stable? мне надо дополнительный артикул, ни как не могу разобраться, он его в админке не сохраняет(((, пожалуйста очень надо
|
|
|
|
|
Записан
|
|
|
|
Unikal
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 63
http://yacht-skipper.ru
|
 |
« Ответ #33 : 10.12.2010, 09:23:54 » |
|
Подскажите как сделать дополнительное текстовое поле в описании категории. Стоит задача показывать тултип с кратким описанием категории при наведении на картинку(ссылку) категории.
|
|
|
|
|
Записан
|
|
|
|
orchanin
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 244
|
 |
« Ответ #34 : 27.12.2010, 13:14:21 » |
|
Может кому пригодится добавление поля с выпадающим списком и вывод каждого значения в своем стиле. Можно сделать по аналогии поле типа краткого описания или простого поля для текста. Актуально для добавления дополнительного поля VirtueMart 1.1.5
|
|
|
|
|
Записан
|
|
|
|
Movs
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 8
|
 |
« Ответ #35 : 16.02.2011, 14:28:27 » |
|
Дополню:
Если необходимо выводить поле на КАРТОЧКЕ ТОВАРА то дополнительно правим файл shop.product_details.php Прмерно 120 строка : $MOE_POLE = $db_product->f("MOE_POLE"); 430я строка: $tpl->set( "MOE_POLE", $MOE_POLE );
И теперь можно выводить в шаблоне на flypage.php это поле как <?echo $MOE_POLE ?>
|
|
|
|
|
Записан
|
|
|
|
Annaweb
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 264
|
 |
« Ответ #36 : 16.02.2011, 16:40:21 » |
|
1. В файле shop.browse.php после строки 453 $products[$i]['product_url'] = $db_browse->f("product_url"); добавил $products[$i]['child_option_ids'] = $db_browse->f("child_option_ids"); 3. Ну и, чтобы вывести содержимое поля, в файле browse_1.php в нужное место вставить <?php echo $child_option_ids ?> почему то не показывается в категории.. (в карточке товара доп. поле добавилось)
|
|
|
|
|
Записан
|
|
|
|
Erepb
Осваиваюсь на форуме
 
Репутация: +4/-0
Offline
Сообщений: 44
|
 |
« Ответ #37 : 18.02.2011, 19:34:16 » |
|
почему то не показывается в категории.. (в карточке товара доп. поле добавилось)
А какой файл изменяли, чтобы было видно в категории?
|
|
|
|
|
Записан
|
|
|
|
Annaweb
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 264
|
 |
« Ответ #38 : 25.02.2011, 17:48:14 » |
|
а что нужно сделать чтобы при редактировании показывались в новых полях данные из бд? (которые вводились ранее) вот в "русскоязычное наименование" почему-то показывается, а в других нет..  
|
|
|
|
|
Записан
|
|
|
|
Annaweb
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 264
|
 |
« Ответ #39 : 25.02.2011, 17:50:22 » |
|
А какой файл изменяли, чтобы было видно в категории?
все работает. у меня в настройках был указан другой файл, не browse_1.php
|
|
|
|
|
Записан
|
|
|
|
Annaweb
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 264
|
 |
« Ответ #40 : 28.02.2011, 16:13:59 » |
|
поняла все дело в создании select поля.
как правильно его создать?
|
|
|
|
|
Записан
|
|
|
|
Master of Magic
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 47
|
 |
« Ответ #41 : 13.03.2011, 17:52:39 » |
|
А теперь как сделать что бы это поле экспортировалось/импортировалось через csvi?А все разобрался: http://joomlaforum.ru/index.php/topic,113045.0.html
|
|
|
|
« Последнее редактирование: 13.03.2011, 18:34:56 от Master of Magic »
|
Записан
|
|
|
|
artliffe
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Сообщений: 142
...акки пчела
|
 |
« Ответ #42 : 09.05.2011, 01:39:56 » |
|
здесь все очень круто...
а не подскажет кто нибудь как проделать тоже самое с ценой? добавить туда вторую цену - к примеру $product_price_2
готов отблагодарить веб-мани за помощь... очень нужена вторая цена товара, и второй столбик в корзине...
Присоединяюсь к вопросу. Уже делал кто нибудь такое?
|
|
|
|
|
Записан
|
|
|
|
|
lcd25
|
 |
« Ответ #43 : 09.05.2011, 01:48:02 » |
|
С ценой намного сложнее, т.к. она должна учавствовать в функциях корзины, учитывать скидки, продавца, налоги, добавочную стоимость атрибутов, конвертироваться в др. валюту и т. д.
|
|
|
|
|
Записан
|
|
|
|
artliffe
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Сообщений: 142
...акки пчела
|
 |
« Ответ #44 : 29.05.2011, 01:00:34 » |
|
С ценой намного сложнее, т.к. она должна учавствовать в функциях корзины, учитывать скидки, продавца, налоги, добавочную стоимость атрибутов, конвертироваться в др. валюту и т. д.
Хорошо, а если не вторую цену, а баллы, т.е. у каждого товара есть балловая составляющая и необходимо чтобы она отдельно суммировалась в корзине и соответственно выводилась в заказе.
|
|
|
|
|
Записан
|
|
|
|
orexov_m
Давно я тут
  
Репутация: +5/-0
Offline
Пол: 
Сообщений: 213
|
 |
« Ответ #45 : 24.06.2011, 09:59:55 » |
|
Я не знаю надо кому или нет, но в VirtueMart 1.1.8 , 1.1.9 немножко по другому называются поля поэтому добавлю свое решение для добавления поля в админку в карту товара и вывод его в категории и в карточке товара на сайте : Для начала идем в базу магазина и в #_vm_product на закладке структура добавляем необходимые нам поля. Далее идем в administrator/components/com_virtuemart/classes находим файл ps_product.php в нем находим строку : 'product_sku' => vmGet($d,'product_sku'), после нее добавляем нашу строчку : 'product_opt_price' => vmGet($d,'product_opt_price'), далее находим строку : $timestamp = time(); $db = new ps_DB; $ps_vendor_id = $_SESSION["ps_vendor_id"]; после неё добавляем : $product_opt_price=$_POST["product_opt_price"]; чуть ниже находим строку : $fields = array ( 'vendor_id' => $vendor_id, 'product_sku' => vmGet($d,'product_sku'), и добавляем : 'product_opt_price' => vmGet($d,'product_opt_price'), С этим файлом закончили. Далее идем в administrator/components/com_virtuemart/html находим файл product.product_form.php находим строку : echo vmToolTip( $VM_LANG->_('PHPSHOP_PRICE_FORM_GROUP'). ": ".$shopper_db->f("shopper_group_name")); ?> <input type="hidden" name="shopper_group_id" value="<?php echo $my_shopper_group_id ?>" /> </td> ниже вставляем : <td width="21%" > <div style="text-align:right;font-weight:bold;"><?php echo ('Оптовая цена')?>:</div> </td> <td width="79%"> <input type="text" class="inputbox" name="product_opt_price" value="<?php $db->sp("product_opt_price"); ?>" size="32" maxlength="64"
/> </td>
С этим файлом все. тут же в administrator/components/com_virtuemart/html находим файл shop.browse.php находим строку : $products[$i]['product_sku'] = $db_browse->f("product_sku"); и ниже вставляем : $products[$i]['product_opt_price'] = $db_browse->f("product_opt_price"); С этим файлом все. тут же в administrator/components/com_virtuemart/html находим файл shop_browse_queries.php находим строку : // These are the names of all fields we fetch data from $fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`, `#__{vm}
_product`.`product_id`,`product_full_image`,`product_thumb_image`,`product_s_desc`,`product_parent_id`,`product_publish`,`product_in_stock`,`product_sku`, и сразу после 'product_sku', вставляем по аналогии наш 'product_opt_price' С этим файлом все. тут же в administrator/components/com_virtuemart/html находим файл shop.product_details.php находим строку : $product_sku = $db->getEscaped( vmGet($_REQUEST, "sku", '' ) ); и после неё добавляем : $product_opt_price = $db->getEscaped( vmGet($_REQUEST, "opt_price", '' ) ); все тут закончили. Дальше открываем файл вывода категории Browse_x и в нужном месте пишем <?php echo $product_opt_price ?> и видим нашу оптовую цену (в моем случае) в вашем может быть любой другой параметр. Я конечно не гуру программирования, но после этих манипуляций добился создания нового поля в админке и вывел его в карточку товара и в категорию. На этом все
|
|
|
|
|
Записан
|
|
|
|
haidamaka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 52
|
 |
« Ответ #46 : 25.08.2011, 19:36:43 » |
|
Сделал всё как описано в верхнем посте. В админке поле есть, в базу сохраняет. Но во фронт не выводит. Версия 1.1.9
|
|
|
|
|
Записан
|
|
|
|
orexov_m
Давно я тут
  
Репутация: +5/-0
Offline
Пол: 
Сообщений: 213
|
 |
« Ответ #47 : 25.08.2011, 19:52:09 » |
|
Сделал всё как описано в верхнем посте. В админке поле есть, в базу сохраняет. Но во фронт не выводит. Версия 1.1.9
а не забыли <?php echo $ваша_переменная ?> ?
|
|
|
|
|
Записан
|
|
|
|
haidamaka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 52
|
 |
« Ответ #48 : 26.08.2011, 00:06:51 » |
|
Сделал, 2 раза проверил... странно)
|
|
|
|
|
Записан
|
|
|
|
haidamaka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 52
|
 |
« Ответ #49 : 26.08.2011, 00:17:41 » |
|
Могут ли быть какие-либо проблемы в настройках создаваемых полей в БД?
|
|
|
|
|
Записан
|
|
|
|
haidamaka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 52
|
 |
« Ответ #50 : 26.08.2011, 01:58:57 » |
|
Сорри...) нашёл заработало, спасибо!+ в карму)
|
|
|
|
|
Записан
|
|
|
|
|
|
artrush
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 103
|
 |
« Ответ #52 : 21.01.2012, 22:50:40 » |
|
Как Добавить checkbox для дополнительных полей, чтобы выбирать отображать его в карточке товара или нет?
|
|
|
|
|
Записан
|
|
|
|
streelok
Осваиваюсь на форуме
 
Репутация: +0/-3
Offline
Сообщений: 171
|
 |
« Ответ #53 : 23.01.2012, 12:43:37 » |
|
подскажите пожалуйста такую вешь.. вот я добавлю новое поле к товару... можно сделать поиск товаров по этому полю?
|
|
|
|
|
Записан
|
|
|
|
nightbodom
Осваиваюсь на форуме
 
Репутация: +0/-1
Offline
Пол: 
Сообщений: 43
|
 |
« Ответ #54 : 16.02.2012, 17:10:54 » |
|
А кто нибудь знает как создать дополнительное поле в карточке товара textarea product_desc (ну типа под названием product_full_desc).
Тоесть: product_desc - описание товара (первая часть описания) product_full_desc - полное описание товара (вторая часть описания) чтобы потом их можно было вывести в flypage через скрипт Показать/Скрыть
|
|
|
|
|
Записан
|
|
|
|
kepa
Осваиваюсь на форуме
 
Репутация: +1/-2
Offline
Пол: 
Сообщений: 67
|
 |
« Ответ #55 : 06.05.2012, 17:57:05 » |
|
|
|
|
|
|
Записан
|
|
|
|
|
lcd25
|
 |
« Ответ #56 : 06.05.2012, 18:34:01 » |
|
Копипаст. Дешевая рекламка.
|
|
|
|
|
Записан
|
|
|
|
|