Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Fix305

Users
  
  • Posts

    917
  • Joined

  • Last visited

Everything posted by Fix305

  1. может) $this->data['category'] = $this->getCategories(0);function getCategories($parent_id, $current_path = '') { $category_id = array_shift($this->path); $output = ''; $results = $this->model_catalog_category->getCategories($parent_id); if ($results) { $output .= '[list]'; } foreach ($results as $result) { if (!$current_path) { $new_path = $result['category_id']; } else { $new_path = $current_path . '_' . $result['category_id']; } $output .= '[*]'; $children = ''; $children = $this->getCategories($result['category_id'], $new_path); $products_out = ''; $products = $this->model_catalog_product->getProductsByCategoryId($result['category_id'], 'pd.name', 'ASC', 0, 100000); // не более 100 тысяч товаров выводит, сортировка по имени. foreach ($products as $product) { $products_out.= '[*]**'.$product['name'].' - '.$product['price'].''; } $output .= '[b] '. $result['name'] . '[/b]'; $output .= $children; $output .= $products_out; $output .= ''; } if ($results) { $output .= '[/list]'; } return $output;}
  2. Re: Изменить в корзине вывод
  3. 'description' => mb_substr(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'), 0, 200),
  4. шаблон измени у стандартного будет тебе ul li )
  5. ну если Вам не влом, то можно перетащить из файла ..catalogcontrollercheckoutconfirm.php все что начинается $data = array();и заканчивается $this->session->data['order_id'] = $this->model_checkout_order->create($data);в файл ..catalogcontrollercheckoutsuccess.php а вообще беспокоится о лишних записях в индексированной БД, на сайте где на каждой страничке выполняется 30-50 запросов к БД, причем заказ переписывают далеко не каждую секунду, я думаю не стоит =) и еще в функции $this->model_checkout_order->create($data); есть такие строчки: $query = $this->db->query("SELECT order_id FROM `" . DB_PREFIX . "order` WHERE date_added < '" . date('Y-m-d', strtotime('-1 month')) . "' AND order_status_id = '0'");foreach ($query->rows as $result) { $this->db->query("DELETE FROM `" . DB_PREFIX . "order` WHERE order_id = '" . (int)$result['order_id'] . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "order_history WHERE order_id = '" . (int)$result['order_id'] . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$result['order_id'] . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$result['order_id'] . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "order_download WHERE order_id = '" . (int)$result['order_id'] . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "order_total WHERE order_id = '" . (int)$result['order_id'] . "'");}так что через месяц твои не использованные заказы будут обнуляться.
  6. ну раз пошла такая пьянка, тогда лезем в сердце опенкарта в файлик ..systemlibrarycart.php:находим там функции и меняем в них все (int)$qty на (float)$qtyну и цены теперь придется выставлять за метр.только смотрите чтоб у вас никто 4,5 пуговицы не купил или 3,3453466345 метра ткани =)так что обрезать циферки после запятой все же не помешает, можно даже в тех же функциях.ну и проверку (конверт ',' => '.') на запятую, точку тоже поставить не помешает, ибо будет работать только с точкойну и в БД не помешает изменить поля на float
  7. модуль тут особо не нужен, просто цены выставить за сантиметры, и при добавлении в корзину количество умножать на 100)
  8. единственное ограничение которое я нашел это:1) заголовок от 3 до 32 символов2) сама статья от 3 символов до 2^16 степени
  9. какое количество символов? уточните (хотя бы примерно)
  10. глянь на всякий еще эту строчку $this->data['amount'] = $this->currency->format($order_info['total'], $order_info['currency'], $order_info['value'], FALSE);если логически посмотреть цепочку то отправляется именно она, а $LMI_PAYMENT_AMOUNT = $this->request->post['LMI_PAYMENT_AMOUNT'];возврат значения
  11. ;) хм , там даже комментарий стоит от "добрых людей" , что это сумма перевода.Но ! ...куда прописать выражение - разделить на 4(т.е. 25% от суммы) !?Я так полагаю значение суммы для файла Webmoney берется из корзины или SQL , а потом через модуль передается в платежную систему , и вот между этими этапами его нужно где-то "резануть" на 75%.зачем усложнять себе жизнь?)$LMI_PAYMENT_AMOUNT = $this->request->post['LMI_PAYMENT_AMOUNT']*0.25;
  12. в мерчант ВМ не регался так что тестировать не на чем, но думаю твоя проблема решается в файле ..catalogcontrollerpaymentwebmoney.php строчкой: $LMI_PAYMENT_AMOUNT = $this->request->post['LMI_PAYMENT_AMOUNT'];
  13. дизайн корзинки меняется в файлах..catalogviewthemedefaulttemplatemodulecart.tpl..catalogcontrollermodulecart.php (переменная $output)
  14. по умолчанию нету такого идентификатора. добавить можно следующим образом: в файле ..catalogcontrollerproductcategory.php (если я правильно понял в категориях его надо вам?) найти массив $this->data['products'][] = array( 'name' => $result['name'], 'model' => $result['model'], 'rating' => $rating, 'stars' => sprintf($this->language->get('text_stars'), $rating), 'thumb' => $this->model_tool_image->resize($image, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')), 'price' => $price, 'description' => html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'), 'special' => $special, 'href' => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'])); и добавить туда строчку 'manufacturer' => $result['manufacturer'], после чего в шаблоне станет доступна переменная $products[$j]['manufacturer']
  15. вот не пожалел 2 минут своего драгоценного времени, благо под рукой оказалась девственно чистая, не тронутая ни единым модулем сборка 1.4.7 v0.4 опенкарта, и все прекрасно заработало =) так что ищи проблемы у себя
  16. админка - система - пользователи - группа пользователей - главные админы - изменитьи там проверь все ли галочки стоят
  17. чеж ты там 2 дня ковыряешь то?)) лови свое решение: табличка где выводятся товары (файл ..catalogviewthemedefaulttemplateproductcategory.tpl) <table class="list"> <?php for ($j = 0; $j < sizeof($products); $j++) { ?> <tr> <td width="30%"><?php if (isset($products[$j])) { ?> <a href="<?php echo $products[$j]['href']; ?>"><img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" 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 } ?></td> <td><?php echo $products[$j]['description']; ?></td> </tr> <?php } ?> </table> в ..catalogcontrollerproductcategory.php найди где описывается массив $this->data['products'][] = array(и добавь туда строчку 'description' => html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'),
  18. если ты про мой модуль EMS, то титл задается 'title' => $response_array['rsp']['term']['min'].' - '.$response_array['rsp']['term']['max'].' '.$this->language->get('days'),
  19. ну вообще размеры берутся из базы и заносятся туда без какого либо вмешательства, а поле имеет тип decimal(5,2). Если изменить на decimal(5,0) или вообще на int то будет то что надо, вот только есть шанс что это где нибудь как нибудь накосячит)
  20. в базе данных время хранится в формате DATETIME, так что секунды минутки часы ваши учитываются, просто вывод ограничен только датой. правится это достаточно легко, для того что бы говорить что скрипт еще сырой: 1) либо в нужных контроллерах ищем строчки типа date($this->language->get('date_format_short'), strtotime($result['date_added']))где $this->language->get('date_format_short') - формат записи (берется из файла ..cataloglanguagerussianrussian.php), и вписываем нужный формат. 2) самый простой, но затронет весь магазин, что все таки не очень логично, зато мозг включать ненадо в ..cataloglanguagerussianrussian.php меняем строчку $_['date_format_short'] = 'd.m.Y'; ссылочка для ознакомления с форматом функции date() - http://php-date.ru/paragraphs/date_format
  21. не все так просто) для того чтоб вытащить картинку в продукт нужно в ..catalogmodelcatalogproduct.php в функции getProduct() в выборке добавить m.image AS man_img в ..catalogcontrollerproductproduct.php вставить $this->data['man_img'] = $product_info['man_img']; ну и в ..catalogviewthemedefaulttemplateproductproduct.tpl <img src="image/<? echo $man_img; ?>" />
  22. в ..wwwcatalogmodelcatalogproduct.php вставить: public function getProductsArr($arr) { $query = $this->db->query("SELECT *, pd.name AS name, p.image AS image, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p.product_id IN (" . $arr . ") ORDER BY p.product_id ASC"); return $query->rows; } в ..wwwcatalogcontrollercommonhome.php заменить foreach ($this->model_catalog_product->getLatestProducts(8) as $result) {на foreach ($this->model_catalog_product->getProductsArr('43, 46, 41, 44') as $result) { соответственно вписываем нужные ид
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.