Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Ошибка синтаксиса PHP в файле category.tpl


ark745

Recommended Posts

Здравствуйте уважаемые форумчане!

Прошу вашей помощи.

Делаю себе интернет магазин на opencart 2.3.0.2. Возникла необходимость переместить описание категорий под товары, чтобы пользователь сначала видел товары. На просторах интернета нашел советы как это сделать, нужно поковыряться в коде файла category.tpl. В общем что-то неполучалось, переносил блоки и правил код, все бестолку. И тут увидел на одном из форумов по опенкарту, что нужно подчистить логи и модификаторы, тогда изменения вступят в силу. Что я успешно сделал. И у меня обвалился сайт, выдает 500 ошибку.

Залез в логи ошибок хостинга, увидел, что есть синтаксические ошибки в header.tpl и category.tpl. Разобрался с header.tpl сайт заработал, но меню и категории не работают. Ошибка 500.

Залез в лог ошибка:

PHP Parse error:  syntax error, unexpected end of file in remgidromaster.com.ua/public_html/catalog/view/theme/fastor/template/product/category.tpl on line 262\n', referer: http://remgidromaster.com.ua/

Уже второй день мучаю файл category.tpl не могу понять, что за ошибка. В PHP не разбираюсь. Помогите разобраться что не так.

Пробывал в различных валидаторах, вставлять по блокам, ошибка появляется, когда начиная с конца кода доходишь до этого блока.

    <!-- Product -->
      <div>
          <div class="row">
              <div class="image col-sm-3">
                  <?php if($product['special'] && $theme_options->get( 'display_text_sale' ) != '0') { ?>
                      <?php $text_sale = 'Sale';
                      if($theme_options->get( 'sale_text', $config->get( 'config_language_id' ) ) != '') {
                          $text_sale = $theme_options->get( 'sale_text', $config->get( 'config_language_id' ) );
                      } ?>
                      <?php if($theme_options->get( 'type_sale' ) == '1') { ?>
                      <?php $product_detail = $theme_options->getDataProduct( $product['product_id'] );
                      $roznica_ceny = $product_detail['price']-$product_detail['special'];
                      $procent = ($roznica_ceny*100)/$product_detail['price']; ?>
                      <div class="sale">-<?php echo round($procent); ?>%</div>
                      <?php } else { ?>
                      <div class="sale"><?php echo $text_sale; ?></div>
                      <?php } ?>
                  <?php if($theme_options->get( 'display_text_new' ) != '0' && $theme_options->isLatestProduct( $product['product_id'] )) { ?>                     

 

category.tpl

Надіслати
Поділитися на інших сайтах


Еще раз спасибо. Все исправил. Все заработало. Только вот описание категорий не переместилось под товары.

 

Сделал как говорили:

 

 <?php if ($products) { ?>
                      <?php } ?>
                            <?php if ($description) { ?>
    <?php echo $description; ?>
    <?php } ?>

 

Что не так?

Надіслати
Поділитися на інших сайтах


Вам нужен файл

catalog/view/theme/fastor/template/product/category.tpl

Возможно, вы по невнимательности правите в папке default

И еще. Обновите модификаторы

 

Змінено користувачем jaffagold
Надіслати
Поділитися на інших сайтах


Смотрите, логика такая.

Есть исходные файлы.

Есть командные файлы-модификаторы, которые вносят изменения в копии исходных файлов и сохраняют их в специальной папке.

Система загружает для работы файлы именно из этой специальной папки.

Пока вы не обновите модификаторы, о ваших изменениях система ничего не знает.

P.S.

делайте резервные копии файлов, которые меняете.

Обновляйте модификаторы.

Обновляйте страницу сайт (Ctrl+F5)

не пошло?-Возвращайте файлы.

 

Надіслати
Поділитися на інших сайтах


Спасибо. Сейчас бэкап файлов сделаю и попробую.

Еще вопрос. В категории внизу высвечивает вот это: Notice: Undefined variable: category in /home/remgidobk0/domains/remgidromaster.com.ua/public_html/catalog/view/theme/fastor/template/product/category.tpl on line 60 .

 

На строке 60 у меня ничего нет. Я так понимаю что он найти что-то не может. Только вот что?

Надіслати
Поділитися на інших сайтах


И еще вот эту ошибку выдает.

http://remgidromaster.com.ua/gidronasosy-gidromotory-aksialno-porshnevye

Notice: Undefined variable: category in /home/remgidobk0/domains/remgidromaster.com.ua/public_html/system/storage/modification/catalog/view/theme/fastor/template/product/category.tpl on line 46

Надіслати
Поділитися на інших сайтах


Вот содержание моего category.tpl Также сам файл прикрепил к сообщению.

<?php echo $header;
if(isset($mfilter_json)) {
    if(!empty($mfilter_json)) {
        echo '<div id="mfilter-json" style="display:none">' . base64_encode( $mfilter_json ) . '</div>';
    }
}

$theme_options = $registry->get('theme_options');
$config = $registry->get('config');
$background_status = false;
include('catalog/view/theme/'.$config->get($config->get('config_theme') . '_directory').'/template/new_elements/wrapper_top.tpl'); ?>
<div id="mfilter-content-container">
 
  <?php if ($thumb || $description) { ?>
<div class="category-info clearfix">
    <?php if ($thumb) { ?>
    <div class="image"><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" /></div>
    <?php } ?>
    <?php if ($description) { ?>
    <?php echo $description; ?>
    <?php } ?>

  <?php if ($categories && $theme_options->get('refine_search_style') != '2') { ?>
  <div class="refine_search_overflow text-center"><h2 class="refine_search"><?php echo $text_refine; ?></h2></div>
  <div class="category-list<?php if ($theme_options->get('refine_search_style') == '1') { echo ' category-list-text-only'; } ?>">
      <div class="row">
        <?php
        $class = 3;
        $row = 4;
        
        if($theme_options->get( 'refine_search_number' ) == 2) { $class = 62; }
        if($theme_options->get( 'refine_search_number' ) == 5) { $class = 25; }
        if($theme_options->get( 'refine_search_number' ) == 3) { $class = 4; }
        if($theme_options->get( 'refine_search_number' ) == 6) { $class = 2; }
        
        if($theme_options->get( 'refine_search_number' ) > 1) { $row = $theme_options->get( 'refine_search_number' ); }
        ?>
      <?php $row_fluid = 0; foreach ($theme_options->refineSearch() as $category) { $row_fluid++; ?>
          <?php
          if ($theme_options->get('refine_search_style') != '1') {
              $width = 250;
              $height = 250;
              if($theme_options->get( 'refine_image_width' ) > 20) $width = $theme_options->get( 'refine_image_width' );
              if($theme_options->get( 'refine_image_height' ) > 20) $height = $theme_options->get( 'refine_image_height' );
              $model_tool_image = $registry->get('model_tool_image');
              if($category['thumb'] != '') {
                  $image = $model_tool_image->resize($category['thumb'], $width, $height);
              } else {
                  $image = $model_tool_image->resize('no_image.jpg', $width, $height);
              }
          }
          ?>
          <?php $r=$row_fluid-floor($row_fluid/$row)*$row; if($row_fluid>$row && $r == 1) { echo '</div><div class="row">'; } ?>
          <div class="col-sm-<?php echo $class; ?> col-xs-6">
              <?php if ($theme_options->get('refine_search_style') != '1') { ?>
              <a href="<?php echo $category['href']; ?>"><img src="<?php echo $image; ?>" alt="<?php echo $category['name']; ?>" /></a>
              <?php } ?>
              <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
          </div>

    </div>
  </div>

  <?php if ($products) { ?>
  <!-- Filter -->
  <div class="product-filter clearfix">
      <div class="options">
          
          
          <div class="button-group display" data-toggle="buttons-radio">
              <button id="grid" <?php if($theme_options->get('default_list_grid') == '1') { echo 'class="active"'; } ?> rel="tooltip" title="Grid" onclick="display('grid');"><i class="fa fa-th-large"></i></button>
              <button id="list" <?php if($theme_options->get('default_list_grid') != '1') { echo 'class="active"'; } ?> rel="tooltip" title="List" onclick="display('list');"><i class="fa fa-th-list"></i></button>
          </div>
      </div>
      
      <div class="list-options">
          <div class="sort">
              <select onchange="location = this.value;">
                <?php foreach ($sorts as $sorts) { ?>
                <?php if ($sorts['value'] == $sort . '-' . $order) { ?>
                <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option>
                <?php } else { ?>
                <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option>
                <?php } ?>
                <?php } ?>
              </select>
          </div>
          
          <div class="limit">
              <select onchange="location = this.value;">
                <?php foreach ($limits as $limits) { ?>
                <?php if ($limits['value'] == $limit) { ?>
                <option value="<?php echo $limits['href']; ?>" selected="selected"><?php echo $limits['text']; ?></option>
                <?php } else { ?>
                <option value="<?php echo $limits['href']; ?>"><?php echo $limits['text']; ?></option>
                <?php } ?>
                <?php } ?>
              </select>
          </div>
      </div>
  </div>
 
  <!-- Products list -->
  <div class="product-list"<?php if(!($theme_options->get('default_list_grid') == '1')) { echo ' class="active"'; } ?>>
      <?php foreach ($products as $product) { ?>
      <!-- Product -->
      <div>
          <div class="row">
              <div class="image col-sm-3">
                  <?php if($product['special'] && $theme_options->get( 'display_text_sale' ) != '0') { ?>
                <?php } ?>
                      <?php $text_sale = 'Sale';
                      if($theme_options->get( 'sale_text', $config->get( 'config_language_id' ) ) != '') {
                          $text_sale = $theme_options->get( 'sale_text', $config->get( 'config_language_id' ) );
                      } ?>
                      <?php if($theme_options->get( 'type_sale' ) == '1') { ?>
                      <?php $product_detail = $theme_options->getDataProduct( $product['product_id'] );
                      $roznica_ceny = $product_detail['price']-$product_detail['special'];
                      $procent = ($roznica_ceny*100)/$product_detail['price']; ?>
                      <div class="sale">-<?php echo round($procent); ?>%</div>
                      <?php } else { ?>
                      <div class="sale"><?php echo $text_sale; ?></div>
                      <?php } ?>
                  <?php if($theme_options->get( 'display_text_new' ) != '0' && $theme_options->isLatestProduct( $product['product_id'] )) { ?>
                       <div class="new"><?php if($theme_options->get( 'new_text', $config->get( 'config_language_id' ) ) != '') { echo $theme_options->get( 'new_text', $config->get( 'config_language_id' ) ); } else { echo 'New'; } ?></div>
                  <?php } ?>
                  
                  <?php if($product['thumb']) { ?>
                      <?php if($theme_options->get( 'lazy_loading_images' ) != '0') { ?>
                      <a href="<?php echo $product['href']; ?>"><img src="image/catalog/blank.gif" data-echo="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" /></a>
                      <?php } else { ?>
                      <a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" /></a>
                      <?php } ?>
                  <?php } else { ?>
                  <a href="<?php echo $product['href']; ?>"><img src="image/no_image.jpg" alt="<?php echo $product['name']; ?>" /></a>
                  <?php } ?>
                  
                  <?php if($theme_options->get( 'display_specials_countdown' ) == '1' && $product['special']) { $countdown = rand(0, 5000)*rand(0, 5000);
                            $product_detail = $theme_options->getDataProduct( $product['product_id'] );
                            $date_end = $product_detail['date_end'];
                            if($date_end != '0000-00-00' && $date_end) { ?>
                               <script>
                               $(function () {
                                   var austDay = new Date();
                                   austDay = new Date(<?php echo date("Y", strtotime($date_end)); ?>, <?php echo date("m", strtotime($date_end)); ?> - 1, <?php echo date("d", strtotime($date_end)); ?>);
                                   $('#countdown<?php echo $countdown; ?>').countdown({until: austDay});
                               });
                               </script>
                               <div id="countdown<?php echo $countdown; ?>" class="clearfix"></div>
                           <?php } ?>
                  <?php } ?>
              </div>
              
              <div class="name-actions col-sm-4">
                   <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
                   <?php if($theme_options->get( 'product_list_type' ) == '4') { ?>
                   <?php $product_detail = $theme_options->getDataProduct( $product['product_id'] ); ?>
                   <div class="brand"><?php echo $product_detail['manufacturer']; ?></div>
                   <?php } ?>
                   
                   <?php if($product['price']) { ?>
                  <div class="price">
                      <?php if (!$product['special']) { ?>
                      <?php echo $product['price']; ?>
                      <?php } else { ?>
                      <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
                      <?php } ?>
                  </div>
                  <?php } ?>
                  
                  <ul>
                       <?php if($theme_options->get( 'display_add_to_cart' ) != '0') { ?>
                            <?php $enquiry = false; if($config->get( 'product_blocks_module' ) != '') { $enquiry = $theme_options->productIsEnquiry($product['product_id']); }
                            if(is_array($enquiry)) { ?>
                            <li><a href="javascript:openPopup('<?php echo $enquiry['popup_module']; ?>', '<?php echo $product['product_id']; ?>')" data-toggle="tooltip" data-original-title="<?php echo $enquiry['block_name']; ?>"><i class="fa fa-question"></i></a></li>
                            <?php } else { ?>
                            <li><a onclick="cart.add('<?php echo $product['product_id']; ?>');" data-toggle="tooltip" data-original-title="<?php echo $button_cart; ?>"><i class="fa fa-shopping-cart"></i></a></li>
                            <?php } ?>
                       <?php } ?>
                       
                       <?php if($theme_options->get( 'quick_view' ) == 1) { ?>
                       <li class="quickview"><a href="index.php?route=product/quickview&amp;product_id=<?php echo $product['product_id']; ?>" data-toggle="tooltip" data-original-title="<?php if($theme_options->get( 'quickview_text', $config->get( 'config_language_id' ) ) != '') { echo html_entity_decode($theme_options->get( 'quickview_text', $config->get( 'config_language_id' ) )); } else { echo 'Quickview'; } ?>"><i class="fa fa-search"></i></a></li>
                       <?php } ?>
                  
                      
                  </ul>
              </div>
              
              <div class="desc col-sm-5">
                  <div class="description"><?php echo $product['description']; ?></div>
              </div>
          </div>
      </div>
    
  </div>
 
  <!-- Products grid -->
  <?php
  $class = 3;
  $row = 4;
 
  if($theme_options->get( 'product_per_pow2' ) == 6) { $class = 2; }
  if($theme_options->get( 'product_per_pow2' ) == 5) { $class = 25; }
  if($theme_options->get( 'product_per_pow2' ) == 3) { $class = 4; }
 
  if($theme_options->get( 'product_per_pow2' ) > 1) { $row = $theme_options->get( 'product_per_pow2' ); }
  ?>
  <div class="product-grid"<?php if($theme_options->get('default_list_grid') == '1') { echo ' class="active"'; } ?>>
      <div class="row">
          <?php $row_fluid = 0; foreach ($products as $product) { $row_fluid++; ?>
              <?php $r=$row_fluid-floor($row_fluid/$row)*$row; if($row_fluid>$row && $r == 1) { echo '</div><div class="row">'; } ?>
              <div class="col-sm-<?php echo $class; ?> col-xs-6">
                  <?php include('catalog/view/theme/'.$config->get($config->get('config_theme') . '_directory').'/template/new_elements/product.tpl'); ?>
              </div>
        <?php } ?>
    </div>
  </div>
 
  <div class="row pagination-results">
    <div class="col-sm-6 text-left"><?php echo $pagination; ?></div>
    <div class="col-sm-6 text-right"><?php echo $results; ?></div>
  </div>

  <?php if (!$categories && !$products) { ?>
  <p style="padding-top: 30px"><?php echo $text_empty; ?></p>
  <div class="buttons">
    <div class="pull-right"><a href="<?php echo $continue; ?>" class="btn btn-primary"><?php echo $button_continue; ?></a></div>
  </div>
  <?php } ?>

 
<script type="text/javascript"><!--
function display(view) {

    if (view == 'list') {
        $('.product-grid').removeClass("active");
        $('.product-list').addClass("active");

        $('.display').html('<button id="grid" rel="tooltip" title="Grid" onclick="display(\'grid\');"><i class="fa fa-th-large"></i></button> <button class="active" id="list" rel="tooltip" title="List" onclick="display(\'list\');"><i class="fa fa-th-list"></i></button>');
        
        localStorage.setItem('display', 'list');
    } else {
    
        $('.product-grid').addClass("active");
        $('.product-list').removeClass("active");
                    
        $('.display').html('<button class="active" id="grid" rel="tooltip" title="Grid" onclick="display(\'grid\');"><i class="fa fa-th-large"></i></button> <button id="list" rel="tooltip" title="List" onclick="display(\'list\');"><i class="fa fa-th-list"></i></button>');
        
        localStorage.setItem('display', 'grid');
    }
}

if (localStorage.getItem('display') == 'list') {
    display('list');
} else if (localStorage.getItem('display') == 'grid') {
    display('grid');
} else {
    display('<?php if($theme_options->get('default_list_grid') == '1') { echo 'grid'; } else { echo 'list'; } ?>');
}
//--></script>
</div>
<?php include('catalog/view/theme/'.$config->get($config->get('config_theme') . '_directory').'/template/new_elements/wrapper_bottom.tpl'); ?>
<?php echo $footer; ?>

category.tpl

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.