Opencart 2 ocMod - выпадающий список категорий

402
02 сентября 2017, 00:11

Подскажите, у меня есть код который должен выводить выпадающий список(dropdown list) категорий в сайдбаре, потом подкатегорий и так далее.. Я его засунул в .ocmod.xml вроде оформил, что я не так делаю

    <modification> 
     <file path="catalog/controller/product/category.php">
        <operation>
            <search position="after"><![CDATA[foreach ($categories as $category) {]]></search>
            <add><![CDATA[$child_total = 0;]]></add>
        </operation>
        <operation>
            <search position="after"><![CDATA[foreach ($children as $child) {]]></search>
            <add><![CDATA[$child_total = $child_total + 1;]]></add>
        </operation>
        <operation>
            <search position="before"><![CDATA['children'    => $children_data,]]></search>
            <add><![CDATA['children_count' => $child_total,]]></add>
        </operation>
        <operation>
            <search><![CDATA[$categories = $this->model_catalog_category->getCategories(0);]]></search>
            <add position="replace" offset="30"><![CDATA[
    <div class="box">
      <div class="box-heading"><?php echo $heading_title; ?></div>
      <div class="box-content">
        <div class="box-category">
          <ul>  
             <?php foreach ($categories as $category) { ?> 
              <?php if ($category['children_count'] > 0) { ?>
                  <h3 class="ccat"><?php echo $category['name']; ?></h3>
                   <form name="dropdown_category" id="<?php echo $category['name']; ?>">  
                   <select  style="width: 160px" onchange="jumper(this)"> 
                   <option selected="selected" value="#"><?php echo $category['name']; ?></option>
                    <?php if ($category['children']) { ?>
                <?php foreach ($category['children'] as $child) { ?>
                <li>
                  <?php if ($child['category_id'] == $child_id) { ?>
                  <option value="<?php echo $child['href']; ?>" class="active"> - <?php echo $child['name']; ?></option>
                  <?php } else { ?>
                  <option value="<?php echo $child['href']; ?>"> - <?php echo $child['name']; ?></option>
                  <?php } ?>
                </li>
                <?php } ?>
              <?php } ?>
                </select>               
                </form>
            <?php } else { ?>
                 <li>        
              <?php if ($category['category_id'] == $category_id) { ?>
              <a href="<?php echo $category['href']; ?>" class="active"><?php echo $category['name']; ?></a>
              <?php } else { ?>
              <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
              <?php } ?>
              <?php if ($category['children']) { ?>
              <ul>
                <?php foreach ($category['children'] as $child) { ?>
                <li>
                  <?php if ($child['category_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 } ?>
            <?php } ?>  
          </ul>
        </div>   
      </div>
    </div>
    ]]> 
   </add>
  </operation>
 </file> 
 </modification>
Answer 1

Начните ваш xml например так:

<?xml version="1.0" encoding="UTF-8"?>
  <modification>  
    <name>Название расширения</name>
    <version>1.0.0</version>
    <code>Что-нибудь придумайте</code>
    <author>Имя, мыло, линк на ваш сайт, боевой клич...</a></author>
    <comment><![CDATA[ Лёгкое описание расширения ]]></comment>

После установкки активируйте его в списке Расширений "Менеджер дополнений"(Extentions). Очистите кеш (там же). Обновите страницу. Посолить по вкусу, подавать тёплым...

READ ALSO
setcookie session не работает на смартфонах (php)

setcookie session не работает на смартфонах (php)

Здравствуйте, есть код:

281
При парсинге на одинаковых тегах часть данных пропадает

При парсинге на одинаковых тегах часть данных пропадает

Делаю задание по парсингу данных со специального сайта с крайне непонятным движком внутриНовость выводится в своем теге(он всегда одинаков),...

322
Как правильно вывести из XML данные

Как правильно вывести из XML данные

Offer - это товарУ одного товара есть индефикатор <vendorCode> НО! Этот вендор разделен, то есть у него есть еще offer с другими размерами

305
Кодировка темы письма с кириллицей

Кодировка темы письма с кириллицей

Всем доброго времени суток!

398