-
Публікації
917 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем Fix305
-
-
нету такой возможности, разве что напрямую в описание написать и сделать отдельным товаром этот набор
-
в ..catalogcontrollerproductmanufacturer.php
вставить
$this->data['img_man'] = $manufacturer_info['image'];
после$this->data['heading_title'] = $manufacturer_info['name'];
в ..catalogviewthemedefaulttemplateproductmanufacturer.tpl
по вкусу вставить
<img src="image/<? echo $img_man; ?>" />
- 3
-
а чего его искать то? - я тут =)бесплатную доставку могу сделать (причем бесплатно), ну а кому захочется может подонатить)я так понимаю бесплатная доставка она всегда 0, независимо от суммы, веса и погодных условий?)
-
"50" - увеличивает на 50%"-50" - уменьшает на 50% (правда уже от увеличенной цены, так что процент придется пересчитывать)для экспериментов желательно сделать бекап базы)
-
в ..adminviewtemplatecatalogproduct_list.tpl:
встивить
<table class="list"> <tr> <td width="140px" align="center">Изменить цену на:</td> <td> <form action="<? echo $addprice; ?>" method="POST"> <input type="text" name="nacenka" /> % <input type="submit" value="ОК" /> </form> </td> </tr> </table>
после<div class="content">
в ..admincontrollercatalogproduct.php
вставить
$this->data['addprice'] = HTTPS_SERVER . 'index.php?route=catalog/product/addprice&token=' . $this->session->data['token'] . $url;
после$this->data['insert'] = HTTPS_SERVER . 'index.php?route=catalog/product/insert&token=' . $this->session->data['token'] . $url;$this->data['copy'] = HTTPS_SERVER . 'index.php?route=catalog/product/copy&token=' . $this->session->data['token'] . $url; $this->data['delete'] = HTTPS_SERVER . 'index.php?route=catalog/product/delete&token=' . $this->session->data['token'] . $url;
в этот же файл вставить функцию
public function addprice() { $this->load->model('catalog/product'); $addPrice = 1+($this->request->post['nacenka']/100); $this->model_catalog_product->addPrice($addPrice); $this->redirect(HTTPS_SERVER . 'index.php?route=catalog/product&token=' . $this->session->data['token']); }
в ..admin/model/catalog/product.php
вставить
public function addPrice ($nacenka) { $this->db->query("UPDATE oc_product SET price = price*'". (float)$nacenka ."'"); }
- 1
-
ну так настрой в админке (в настройках магазина ставишь можно покупать при отсутствии на складе, и указываешь нужное "Состояние склада", при отсутствии на складе)
-
в договоре пункт прописывай - что изменение цен происходит с уведомлением за [..] дней.
-
ну вообще это запрос напрямую в базу данных (через phpmyadmin например и ему подобные СУБД)ну а если уж так действительно надо (и не хочется лазить по всяким phpmyadmin'ам), то через пару-тройку дней могу написать модуль для изменения через админку, благо ничего сложного в этом нет.
-
Сейчас, к сожалению, нету времени - завтра с утра уезжаю на сборы (спортивные), как только чуточку там освоюсь (денек-2) займусь твоей просьбой, если ее, конечно, уже не решат =)Fix305, взываю к тебе о помощи ;)
-
вполне очевиден =)
UPDATE product SET price=price*1.5
-
дай купон только Ивану Ивановичу, а другим не давай.а копать можно в саду =)
-
скинь свой category.php и category.tpl
-
для 1.4.0
в ..catalogcontrollerproductcategory.php
блок
foreach ($results as $result) {.....}
меняем наforeach ($results as $result) { if ($result['image']) { $image = $result['image']; } else { $image = 'no_image.jpg'; } // $options_arr = array(); $options = $this->model_catalog_product->getProductOptions($result['product_id']); echo $result['product_id'].' - '; foreach ($options as $option) { $option_value_data = array(); foreach ($option['option_value'] as $option_value) { $option_value_data[] = array( 'option_value_id' => $option_value['product_option_value_id'], 'name' => $option_value['name'], 'price' => (float)$option_value['price'], 'prefix' => $option_value['prefix'] ); } $options_arr[] = array( 'option_id' => $option['product_option_id'], 'name' => $option['name'], 'option_value' => $option_value_data ); unset($option_value_data); } // $rating = $this->model_catalog_review->getAverageRating($result['product_id']); $special = FALSE; $discount = $this->model_catalog_product->getProductDiscount($result['product_id']); if ($discount) { $price = $this->currency->format($this->tax->calculate($discount, $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); $special = $this->model_catalog_product->getProductSpecial($result['product_id']); if ($special) { $special = $this->currency->format($this->tax->calculate($special, $result['tax_class_id'], $this->config->get('config_tax'))); } } $this->data['products'][] = array( 'id' => $result['product_id'], 'name' => $result['name'], 'model' => $result['model'], 'rating' => $rating, 'stars' => sprintf($this->language->get('text_stars'), $rating), 'thumb' => image_resize($image, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')), 'price' => $price, 'special' => $special, 'options_arr' => $options_arr, // 'href' => $this->model_tool_seo_url->rewrite($this->url->http('product/product&path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'])) ); unset ($options_arr); // }
в ..catalogviewthemedefaulttemplateproductcategory.tpl
блок
<td width="25%"><?php if (isset($products[$j])) { ?>.....<?php } ?></td>
меняем на<td width="25%"><?php if (isset($products[$j])) { ?> <form action="" method="post" enctype="multipart/form-data" id="formproduct_<? echo $products[$j]['id']; ?>"> <a href="<?php echo $products[$j]['href']; ?>"><img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" id="image<? echo $products[$j]['id']; ?>" alt="<?php echo $products[$j]['name']; ?>" /></a> <a href="<?php echo $products[$j]['href']; ?>"><?php echo $products[$j]['name']; ?></a> [color= #999; font-size: 11px;]<?php echo $products[$j]['model']; ?>[/color] <?php if ($display_price) { ?> <?php if (!$products[$j]['special']) { ?> [color= #900; font-weight: bold;]<?php echo $products[$j]['price']; ?>[/color] <?php } else { ?> [color= #900; font-weight: bold; text-decoration: line-through;]<?php echo $products[$j]['price']; ?>[/color] [color= #F00;]<?php echo $products[$j]['special']; ?>[/color] <?php } ?> <?php } ?> <?php if ($products[$j]['rating']) { ?> <img src="catalog/view/theme/default/image/stars_<?php echo $products[$j]['rating'] . '.png'; ?>" alt="<?php echo $products[$j]['stars']; ?>" /> <?php } ?> <?php if ($products[$j]['options_arr']) { ?> <?php foreach ($products[$j]['options_arr'] as $option) { ?> <?php echo $option['name']; ?>: <select name="option[<?php echo $option['option_id']; ?>]"> <?php foreach ($option['option_value'] as $option_value) { ?> <option value="<?php echo $option_value['option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> <?php echo $option_value['prefix']; ?><?php echo $option_value['price']; ?> <?php } ?> </option> <?php } ?> </select> <?php } ?> <?php } ?> <input type="text" name="quantity" /> <input type="hidden" name="product_id" value="<? echo $products[$j]['id']; ?>" /> [url="#"]);return false;" class="button"><span>В корзину</span>[/url] </form> <?php } ?></td>
в ..catalogviewthemedefaulttemplatemodulecart.tpl снизу добавить по смыслу:
function buyProduct(id){ $.ajax({ type: 'post', url: 'index.php?route=module/cart/callback', dataType: 'html', data: $('#formproduct_'+id+' :input'), success: function (html) { $('#module_cart .middle').html(html); }, complete: function () { var image = $('#image'+id).offset(); var cart = $('#module_cart').offset(); $('#image'+id).before('<img src="' + $('#image'+id).attr('src') + '" id="temp" style="position: absolute; top: ' + image.top + 'px; left: ' + image.left + 'px;" />'); params = { top : cart.top + 'px', left : cart.left + 'px', opacity : 0.0, width : $('#module_cart').width(), heigth : $('#module_cart').height() }; $('#temp').animate(params, 'slow', false, function () { $('#temp').remove(); }); } }); }
вроде ничего не забыл)
единственный недочет который заметил, если не ввести количество то в корзину товар не добавится, исправить легко (либо в контроллере прописать если нету значения то количество 1, либо тупо прописать в поле input стартовое значение 1), но чет я устал на 10дюймовом мониторе что либо делать, так что допиливайте сами)
ну и при желании для остальных страничек делаем аналогично)
-
перекодируйте в UTF-8 не будет квадратиков)честно говоря я и не предлагал законченное решение, это всего лишь направление куда надо копать, а дальше уж сами. Готовый магазин по Вашему ТЗ на форуме не сделают =)Появляются квадратики =)Ну и внутри возле выбора опций товара цена отображается так же цыфрой ноль =Решение и задумка и правда не самая лучшая, потому что если стереть это поле то товары которые не имеют Атрибутов - остаются без отображения цены, на последней страничке (страничке конкретного товара). =)
-
расхвалили то =)
вот вам за это)
EMS модуль (только Россия), вроде даже работает (1.4.7 - 0.4)
тест драйв для городов куда возможна отправка:
кто захочет дополнить список городов, а как оказалось в базе не весь список, массив городов можно взять отсюда:abakan - ok
aginskoe - fail
anadyr - ok
arhangelsk - ok
astrahan - ok
barnaul - ok
belgorod - ok
birobidzhan - ok
blagoveshhensk - ok
brjansk - ok
cheboksary - ok
cheljabinsk - ok
cherkessk - ok
chita - ok
dudinka - ok
elista - ok
gomo-altajsk - fail
gorno-altajsk - ok
groznyj - ok
irkutsk - ok
ivanovo - ok
izhevsk - ok
kaliningrad - ok
kaluga - ok
kasnodar - fail
kazan - ok
kemerovo - ok
khabarovsk - ok
khanty-mansijsk - ok
kostroma - ok
krasnodar - ok
krasnojarsk - ok
kudymkar - fail
kurgan - ok
kursk - ok
kyzyl - ok
lipeck - ok
magadan - ok
mahachkala - ok
majkop - ok
moskva - ok
murmansk - ok
nalchik - ok
narjan-mar - ok
nazran - ok
nizhnij-novgorod - ok
novgorod - fail
novosibirsk - ok
omsk - ok
orel - ok
orenburg - ok
palana - fail
penza - ok
perm - ok
petropavlovsk-kamchatskij - ok
petrozavodsk - ok
pskov - ok
rostov-na-donu - ok
rjazan - ok
salehard - ok
samara - ok
saransk - ok
saratov - ok
smolensk - ok
sankt-peterburg - ok
stavropol - ok
syktyvkar - ok
tambov - ok
tomsk - ok
tula - ok
tura - fail
tver - ok
tjumen - ok
ufa - ok
uljanovsk - ok
ulan-udje - ok
ust-ordynskij - fail
vladikavkaz - ok
vladimir - ok
vladivostok - ok
volgograd - ok
vologda - ok
voronezh - ok
vjatka - fail
yakutsk - ok
yaroslavl - ok
ekaterinburg - ok
ioshkar-ola - ok
http://emspost.ru/api/rest/?method=ems. ... plain=true
и пихать их сюда админка - система - локализация - регионы.
бекап не забываем, возможны ошибки =)
-
-
теоретически если отключить проверку config_email в
в ..admincontrollersettingsetting.php
/*$pattern = '/^[A-Z0-9._%-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9].[A-Z]{2,6}$/i';if ((strlen(utf8_decode($this->request->post['config_email'])) > 32) || (!preg_match($pattern, $this->request->post['config_email']))) { $this->error['email'] = $this->language->get('error_email');}*/
то можно в админке перечислить все email'ы через запятую, и должно работать. -
./catalog/controller/module/featured.php - контроллер./catalog/view/theme/default/template/module/featured.tpl - шаблон
-
для того чтобы скрыть цену или написать что надо выбрать опции делаем следующее:
в ..catalogviewthemedefaulttemplateproductcategory.tpl
находим
<?php echo $products[$j]['price']; ?>
меняем на<?php if ($products[$j]['price'] == 0) { echo "Чтоб узнать цену выберите опции";} else {echo $products[$j]['price'];}; ?>
аналогично надо сделать с шаблонами поиска, главной страницы и где там еще выводится каталог товаров.
ну и ко всем опциям в обязаловку надо написать цену, а то продадите товар за 0 рубликов)
чтоб не смущала цена 0 при просмотре товара
в файле ..catalogviewthemedefaulttemplateproductproduct.tpl удаляем
<?php if ($display_price) { ?> <tr> <td>[b]<?php echo $text_price; ?>[/b]</td> <td><?php if (!$special) { ?> <?php echo $price; ?> <?php } else { ?> <span style="text-decoration: line-through;"><?php echo $price; ?></span> [color= #F00;]<?php echo $special; ?>[/color] <?php } ?></td> </tr> <?php } ?>
хотя при желании можно JavaScript'ом выводить туда цену в зависимости от выбранной опции, но это из другой сказки) -
Тоже недавно задумывался про EMS и наложенный платеж. В принципе можешь выложить, попробую что нибудь придумать (обещать 100% не буду)
-
не все так просто, к сожалению. При первом переходе на другую страничку, менюшка будет сворачиваться в первоначальный вид, что немного пересекается с юзабилити. Так что проблема здесь не как сделать сам эффект, а как его сделать правильно.
-
а не проще просто в шаблоне написать нужную информацию, без ckeditor'a? не каждый же день, наверно, будет редактироваться эта статья)
ну раз уж так хочется, то делаем вот так:
в файле ..catalogcontrollerinformationcontact.php:
сразу после
public function index() {
вставить это$this->load->model('catalog/information');$information_info = $this->model_catalog_information->getInformation('4'); // здесь указываем id статьи, а в админке ее отключаем if ($information_info) { $this->data['description'] = html_entity_decode($information_info['description']);}
в ..catalogmodelcataloginformation.php:
меняем
public function getInformation($information_id) { $query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "information i LEFT JOIN " . DB_PREFIX . "information_description id ON (i.information_id = id.information_id) LEFT JOIN " . DB_PREFIX . "information_to_store i2s ON (i.information_id = i2s.information_id) WHERE i.information_id = '" . (int)$information_id . "' AND id.language_id = '" . (int)$this->config->get('config_language_id') . "' AND i2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND i.status = '1'"); return $query->row; }
наpublic function getInformation($information_id) { $query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "information i LEFT JOIN " . DB_PREFIX . "information_description id ON (i.information_id = id.information_id) LEFT JOIN " . DB_PREFIX . "information_to_store i2s ON (i.information_id = i2s.information_id) WHERE i.information_id = '" . (int)$information_id . "' AND id.language_id = '" . (int)$this->config->get('config_language_id') . "' AND i2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"); return $query->row; }
в ..catalogviewthemedefaulttemplateinformationcontact.tpl:
вставить куда нравится
<? echo $description; ?>
-
в ..catalogviewthemedefaulttemplateproductproduct.tpl
найти (у меня 53 строка):
<?php if ($options) { ?>
заменить на:
<?php if ($options && ($price == 0)) { ?>
ток честно говоря затея не очень, в каталоге будут наверно странно выглядеть товары с ценой 0. Хотя цену можно там скрыть.
-
где ставите и где появляется надпись?поподробнее бы - мы волшебники, а не экстрасенсы =)
Вывод определенных товаров на Главной странице
в Загальні питання
Опубліковано:
в ..wwwcatalogmodelcatalogproduct.php вставить:
в ..wwwcatalogcontrollercommonhome.php
заменить
соответственно вписываем нужные ид