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

Kirav

Newbie
  
  • Posts

    10
  • Joined

  • Last visited

Information

  • Gender
    Не определился

Recent Profile Visitors

1,278 profile views

Kirav's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. Не совсем понял вашу ситуацию. Строка № 0 - обычно всегда выдает ошибку - это наверное шапка прайса, и модуль не нашел там числа в колонке "Цена". В строке № 2 в колонке "Цена" модуль тоже не нашел числа (может быть номер колонки не тот, а может быть там не совсем число :) Например, цветное или такое: 46.50 рублей РФ в колонке цены число...при смене кода товара вручную в админке с 05010201КБ на 05010201-01 модуль прекрасно подхватывает из ячейки цену и вообще все остальные ячейки...но пока в артикуле нет в конце номера поставщика "-01", модуль ничего делать не хочет :(
  2. В файле errors.tmp выдает следующие ошибки при обновлении товаров со старым Артикулом (Кодом товара), соответственно товар не обновляется и старый код на новый не меняется 2013-05-20 15:43:38 The Product was passed: Row ~= 0 Product code (sku) = Code SKU Invalid price of product = Price 2013-05-20 15:43:38 The Product was passed: Row ~= 2 Product code (sku) = Invalid price of product = модуль только установил, поэтому может что-то не то делаю... Если вручную исправить через админку Код товара и в конце номера поставить "-01", то все обновится за милую душу...
  3. Добрый день. У меня есть модуль, который выводит статьи в иерархической структуре (также, как модуль категорий). В нем большое кол-во статей и для пользователя я решил предусмотреть поле, где он бы смог по первым буквам произвести фильтрацию корневого уровня заголовков статей. За основу этого дополнения в существующий модуль я взял статью: https://opencartforum.com/topic/10422-svoi-modul-poiska/ . Но этого к сожалению не хватило, чтобы опция начала работать. Прошу вашей помощи, заранее благодарен. В общих чертах я решил реализовать задачу следующим образом: 1) в файле *.tpl разместить текстовый тег <input>, который возьмет запрос от пользователя и передаст в файл контроллера 2) файл контроллера в свою очередь передаст значение переменной в файл модуля 3) файл модуля отфильтрует в случае, если переменная не пустая, заголовки статей, после чего уже отфильтрованные заголовки попадут обратно в файл *.tpl Вью <div class="box"> <div class="box-heading"><?php echo $heading_title; ?></div> <form action="<?php echo $post_action; ?>" method="post" enctype="multipart/form-data"> <?php if ($poisk) { ?> <input type="text" name="poisk" value="<?php echo $poisk; ?>" /> <?php } else { ?> <input type="text" name="poisk" value="<?php echo 'Введите значение'; ?>" onclick="this.value = '';" onkeydown="this.style.color = '#000000';" /> <?php } ?> <?php foreach($articles as $article) { ?> <?php if ($article['articles'] == $poisk) ?> value=<?php echo $article['articles']?> > <?php echo $article['articles'] ?> <?php } ?> </form> <div class="box-content"> <div class="box-category"> <ul> <?php foreach ($articles as $article) { ?> <li> <?php if ($article['article_id'] == $article_id) { ?> <a href="<?php echo $article['href']; ?>" class="active"><?php echo $article['name']; ?></a> <?php } else { ?> <a href="<?php echo $article['href']; ?>"><?php echo $article['name']; ?></a> <?php } ?> <?php if ($article['children']) { ?> <ul> <?php foreach ($article['children'] as $child) { ?> <li> <?php if ($child['article_id'] == $child_id) { ?> <a href="<?php echo $child['href']; ?>" class="active"> - <?php echo $child['name']; ?></a> <?php } else { ?> <a href="<?php echo $child['href']; ?>"> - <?php echo $child['name']; ?></a> <?php } ?> </li> <?php } ?> </ul> <?php } ?> </li> <?php } ?> </ul> </div> </div> </div> контроллер <?php class ControllerModuleArticle extends Controller { protected function index($setting) { $this->language->load('module/article'); $this->data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['id'])) { $parts = explode('_', (string)$this->request->get['id']); } else { $parts = array(); } if (isset($parts[0])) { $this->data['article_id'] = $parts[0]; } else { $this->data['article_id'] = 0; } if (isset($parts[1])) { $this->data['child_id'] = $parts[1]; } else { $this->data['child_id'] = 0; } $this->data['post_action'] = $this->url->link('catalog/article'); $this->load->model('catalog/article'); $this->data['articles'] = array(); $articles = $this->model_catalog_article->getArticles(0); $this->data['articles'] = $articles; $this->data['poisk'] = false; if (isset($this->request->get['poisk'])) { $this->data['poisk'] = $this->input->get['poisk']; } else { $this->data['poisk'] = ''; } //////////////////////// -------------- модель <?php class ModelCatalogArticle extends Model { public function getArticle($article_id) { return $this->getArticles((int)$article_id, 'by_id'); } public function getArticles($id = 0, $type = 'by_parent') { static $data = null; if ($data === null) { $data = array(); $sql = "SELECT * FROM " . DB_PREFIX . "article a LEFT JOIN " . DB_PREFIX . "article_description ad ON (a.article_id = ad.article_id) LEFT JOIN " . DB_PREFIX . "article_to_store a2s ON (a.article_id = a2s.article_id) WHERE ad.language_id = '" . (int)$this->config->get('config_language_id') . "' AND a2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND a.status = '1'"; if (!empty($data['poisk'])) { $sql .= " AND LCASE(ad.name) LIKE '" . $this->db->escape(utf8_strtolower($data['poisk'])) . "%'"; } $sql .= " ORDER BY a.parent_id, a.sort_order, ad.name"; $query = $this->db->query($sql); foreach ($query->rows as $row) { $data['by_id'][$row['article_id']] = $row; $data['by_parent'][$row['parent_id']][] = $row; } } return ((isset($data[$type]) && isset($data[$type][$id])) ? $data[$type][$id] : array()); } ///////////////////////////////////-----------------------------------------
×
×
  • 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.