при просмотре товара в интернет-магазине выдает ошибку

Тема в разделе "OpenCart", создана пользователем katrinok_k, 5 июн 2015.

  1. katrinok_k

    katrinok_k

    Регистрация:
    31 мар 2015
    Сообщения:
    63
    Симпатии:
    5
    Создавала интернет магазин на OpenCart, в какой-то момент (не могу сказать когда именно, заметили только вчера) при попытке просмотреть товар начало выдавать ошибку
    Parse error: syntax error, unexpected '}' in /home/ufib/rfid-shop.com.ua/www/vqmod/vqcache/vq2-catalog_view_theme_space-cart_template_product_product.tpl on line 255
    сейчас в строке 255 файла vq2-catalog_view_theme_space-cart_template_product_product.tpl находится <?php } ?>
    а блок строк 243-261 содержит
    PHP:
    <?php if ($option['type'] == 'time') { ?>
            <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
              <?php if ($option['required']) { ?>
              <span class="required">*</span>
              <?php ?>
              <b><?php echo $option['name']; ?>:</b><br />
              <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="time" />
            </div>
            <br />
            <?php ?>
            <?php ?>
          </div>
          <?php ?>
          <div class="cart">
           
          <?php
          
    if ($prod_quant>0) echo "<div>$text_qty<input type='text' name='quantity' size='2' value='$minimum' /><input type='hidden' name='product_id' size='2' value='$product_id' />&nbsp;";
          else echo 
    "<div>";
          
    ?>
    не могу понять к какому модулю относится этот файл из кэша vqmod, что бы его переустановить
    Помогите пожалуйста понять где закралась ошибка
    з. ы. тапками не кидаться, это первая попытка создания интернет-магазина.
    з.з.ы вчера была такая же ситуация, избавилась от нее путем удаление <?php } ?> в 255 строке... сегодня этот метод не помогает. При этом в файле полно пустых строк, я понимаю что это кэшевский файлик, но что делать что бы "починить товар" пока не доходит.
     
  2. Pelmen2

    Pelmen2

    Регистрация:
    26 янв 2015
    Сообщения:
    169
    Симпатии:
    14
    файл кэша - готовый, слепленный из всех модифицирующих файлов vqmod
    дабы найти, какие файлы вносят изменения, то организовать поиск по всем файлам vqmod содержащие этот путь, при этом "_" заменить на "/"
    "catalog_view_theme_space-cart_template_product" будет выглядеть "catalog/view/theme/space-cart/template/product/product.tpl"
    а дальше смотреть, какие файлы конфликтуют или вносят неправильные изменения в магазин. В вашем случае - тема магазина.
     
  3. katrinok_k

    katrinok_k

    Регистрация:
    31 мар 2015
    Сообщения:
    63
    Симпатии:
    5
    в этом случае в строке 254-261 файла product.tpl находится
    Код:
    <tbody>
            <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
            <tr>
              <td><?php echo $attribute['name']; ?></td>
              <td><?php echo $attribute['text']; ?></td>
            </tr>
            <?php } ?>
          </tbody>
    в а 30-й
    Код:
    <span><?php echo $text_sku; ?></span> <?php echo $sku; ?>
    222-223
    Код:
    <div class="review">
            <div><img src="catalog/view/theme/default/image/stars-<?php echo $rating; ?>.png" alt="<?php echo $reviews; ?>" />&nbsp;&nbsp;<a onclick="$('a[href=\'#tab-review\']').trigger('click');"><?php echo $reviews; ?></a>&nbsp;&nbsp;|&nbsp;&nbsp;<a onclick="$('a[href=\'#tab-review\']').trigger('click');"><?php echo $text_write; ?></a></div>
    img src="catalog/view/theme/default/image/stars - но если меняю default на space-cart то снова выпадает ошибка 255й строки
    можете тыкнуть носом где копать, плиз
     
  4. Pelmen2

    Pelmen2

    Регистрация:
    26 янв 2015
    Сообщения:
    169
    Симпатии:
    14
    редактируете файлы xml ?
    Ошибка выдаётся именно по сформированному файлу кэша
    чтобы не менять img src="catalog/view/theme/default/image/stars - но если меняю default на space-cart
    проще перенести эти картинки в свою новую тему.
     
  5. katrinok_k

    katrinok_k

    Регистрация:
    31 мар 2015
    Сообщения:
    63
    Симпатии:
    5
    ладно с картинками, это можно продублировать, как избавится от
    Notice: Undefined variable: sku in /home/ufib/rfid-shop.com.ua/www/vqmod/vqcache/vq2-catalog_view_theme_space-cart_template_product_product.tpl on line 30
    Код:
    <span><?php echo $text_sku; ?></span> <?php echo $sku; ?>

    при входе в товар
    понимаю что не хватает переменной text_sku,
    в одном месте добавила переменную 138-159
    Код:
    $this->data['heading_title'] = $product_info['name'];
               
                $this->data['text_select'] = $this->language->get('text_select');
                $this->data['text_manufacturer'] = $this->language->get('text_manufacturer');
                $this->data['text_model'] = $this->language->get('text_model');
                $this->data['text_sku'] = $this->language->get('text_sku');
                $this->data['text_reward'] = $this->language->get('text_reward');
                $this->data['text_points'] = $this->language->get('text_points');   
                $this->data['text_discount'] = $this->language->get('text_discount');
                $this->data['text_stock'] = $this->language->get('text_stock');
                $this->data['text_price'] = $this->language->get('text_price');
                $this->data['text_tax'] = $this->language->get('text_tax');
                $this->data['text_discount'] = $this->language->get('text_discount');
                $this->data['text_option'] = $this->language->get('text_option');
                $this->data['text_qty'] = $this->language->get('text_qty');
                $this->data['text_minimum'] = sprintf($this->language->get('text_minimum'), $product_info['minimum']);
                $this->data['text_or'] = $this->language->get('text_or');
                $this->data['text_write'] = $this->language->get('text_write');
                $this->data['text_note'] = $this->language->get('text_note');
                $this->data['text_share'] = $this->language->get('text_share');
                $this->data['text_wait'] = $this->language->get('text_wait');
                $this->data['text_tags'] = $this->language->get('text_tags');
    а куда надо "воткнуть" еще что бы пропала, не могу вспомнить в какой блок и после чего
     
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Нет, в ошибке сказано, что не объявлена переменная именно sku, а не text_sku!
    Добавьте в /catalog/controller/product/product.php это:
    PHP:
    $this->data['sku'] = $product_info['sku'];
    Эту строчку можно добавить сразу после подключения текстовых переменных.
     
  7. katrinok_k

    katrinok_k

    Регистрация:
    31 мар 2015
    Сообщения:
    63
    Симпатии:
    5
    там было изначально 2 ошибки про text_sku и sku - уже добавила и ее, но ошибка не пропала, руководствовалась вот этим http://webprovincia.com/opencart/sku-artikul-kategorij-tovarov.html
    Код:
    $this->load->model('catalog/review');
    
                $this->data['tab_description'] = $this->language->get('tab_description');
                $this->data['tab_attribute'] = $this->language->get('tab_attribute');
                $this->data['tab_review'] = sprintf($this->language->get('tab_review'), $this->model_catalog_review->getTotalReviewsByProductId($this->request->get['product_id']));
                $this->data['tab_related'] = $this->language->get('tab_related');
            
                $this->data['product_id'] = $this->request->get['product_id'];
                $this->data['manufacturer'] = $product_info['manufacturer'];
                $this->data['manufacturers'] = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $product_info['manufacturer_id']);
                $this->data['model'] = $product_info['model'];
                $this->data['sku'] = $product_info['sku'];
                $this->data['reward'] = $product_info['reward'];
                $this->data['points'] = $product_info['points'];
    что я делаю не так?

    SKU (Артикул): Notice: Undefined variable: sku in /home/ufib/rfid-shop.com.ua/www/vqmod/vqcache/vq2-catalog_view_theme_space-cart_template_product_product.tpl on line 30
    и ��� ������� на той же станичке, понимаю что где-то кодировка не переключилась, но уже все обшарила, и не вижу где именно
    http://rfid-shop.com.ua/index.php?route=product/product&product_id=66 и в укр. варианте странички где-то не хватает переменной text_option - доступні варіанти (доспупные варианты - рус. вариант)
     
    Последнее редактирование: 9 июн 2015
  8. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    А вы в какой файл изменения вносите?
    Лучше всего вписать всё в оригинальный /catalog/controller/product/product.php, а потом очистить кеш vQmod, чтоб всё заново сгенерировалось.

    Вообще, это единственный правильный вариант, иначе если по каким-то причинам кеш vQmod сбросится, все изменения полетят.
     
  9. katrinok_k

    katrinok_k

    Регистрация:
    31 мар 2015
    Сообщения:
    63
    Симпатии:
    5
    с этим вроде бы как разобрались, будем надеяться что больше таких проблем не будет
    осталось
    понять где изменить кодировку что бы комментарии не иероглифами были и как избавится от есть еще одной "загвоздки" которую пока не знаю где копать, и после чего оно так вышло, по совету скопировала к себе на комп все файлы из вкмод, а оттуда удалили и кэш вкмод почистила, но ничего не изменилось, теперь не знаю где "копать". Не правильно открывается фото в товарах, в место того что бы быть во всплывающем окне с крестиком, оно открывается в той же вкладке, заменяя ее содержимое... Может подскажете где это можно исправить.
     
  10. noobie

    noobie

    Регистрация:
    27 мар 2013
    Сообщения:
    174
    Симпатии:
    22
    Где угодно может быть. Но скорее всего проблема с файлами темы. product.tpl
     
  11. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Для начала посмотрите в базе, как они выглядят там. Если и там иероглифы, значит они портятся ещё при добавлении, иначе - при выводе.

    Какая загвоздка?

    Это значит, что не срабатывает fancybox, colorbox или любой другой скрипт, который вы используете для увеличения фотографий. Посмотрите, что пишет в консоли браузера и подключён ли вообще файл скрипта на странице.

    Вообще, я уже сам посмотрел: у вас используется colorbox и на страницу файл с ним не подключён.
     
  12. katrinok_k

    katrinok_k

    Регистрация:
    31 мар 2015
    Сообщения:
    63
    Симпатии:
    5
    я конечно дико извиняюсь за свою тупость, но где и как его надо подключить?
    иероглифами выводится не сам текст отзыва, а они отображаются возле даты и там где показывается оценка (сколько из скольки)
    http://joxi.ru/L21pYjxsB0ogmX
    а в скаченной базе товаров вот так (обвела красным), что это значит
    http://joxi.ru/5mdNZWPug8BXA1
     
    Последнее редактирование: 10 июн 2015
  13. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    В файле /catalog/controller/product/product.php где-нибудь перед
    PHP:
    $this->data['heading_title'] = $product_info['name'];
    Впишите это:
    PHP:
    $this->document->addScript('catalog/view/javascript/colorbox/colorbox.js');
    Только проверьте, что файл с colorbox лежит именно там и называется именно так.
     
  14. katrinok_k

    katrinok_k

    Регистрация:
    31 мар 2015
    Сообщения:
    63
    Симпатии:
    5
    спасибо большое что указали где "копать", в моем случае немного по другому оно (взяла из старого установленного на компьютере магазина нужные строки)
    Код:
                $this->document->addScript('catalog/view/javascript/jquery/tabs.js');
                $this->document->addScript('catalog/view/javascript/jquery/colorbox/jquery.colorbox-min.js');
                $this->document->addStyle('catalog/view/javascript/jquery/colorbox/colorbox.css');
    осталось понять что за бяка с иероглифами и как от них избавится
    http://joxi.ru/L21pYjxsB0ogmX
     
  15. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Вы посмотрели, как оно в базе выглядит?
     
  16. katrinok_k

    katrinok_k

    Регистрация:
    31 мар 2015
    Сообщения:
    63
    Симпатии:
    5
    в скаченной базе товаров вот так (обвела красным), что это значит
    http://joxi.ru/5mdNZWPug8BXA1
    надеюсь в правильную базу смотреть пошла
    и что с ним делать?
     
  17. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Лучше посмотрите в phpMyAdmin. В OpenOffice проблема может возникнуть и из-за самой программы (неправильно распознал кодировку)
     
  18. katrinok_k

    katrinok_k

    Регистрация:
    31 мар 2015
    Сообщения:
    63
    Симпатии:
    5
    причина найдена случайно, скрывалась она в Better_format_dates_and_times.xml - после отключения кракозябрики ушли
     
  19. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
  20. Pelmen2

    Pelmen2

    Регистрация:
    26 янв 2015
    Сообщения:
    169
    Симпатии:
    14
    Не зло. Хорошая вещь - движок остаётся нетронутым, можно накатывать и выключать изменения.
    Для примера - в 1с сделали подобную вещь: конфигурация остаётся неизменной, а на неё можно навешивать свои доработки, при этом без проблем обновлять основую поставку. И они пошли ещё дальше: на одной конфигурации может быть несколько версий: для пользователей и для разработчиков, каждому своя.