Отключение страницы товара



  • Здравствуйте форумчане.
    У меня есть интернет-магазин. В него я импорчу из экселя большой список товаров, у которых всего пара полей (название, ед.изм и цена). Это все формируется в прайс-таблицы, которые посетитель может удобно смотреть. Мне по сути не нужны страницы отдельных товаров, потому что их и наполнять то нечем.
    Однако так или иначе не на них можно попасть (хоть и не по прямой ссылке), но через поиск или иными методами.
    Есть ли возможность их отключить? Пересмотрел все настройки, гугл не помог. Знаком кто-нибудь с таким?
    Спасибо.


  • Администраторы

    Какой вопрос, такой и ответ - есть возможность.

    На будущее:
    Нужно указать как импортируете товары, как эти товары выводятся на сайте.



  • Здравствуйте. Товары импортирую из экселя через importX
    Перед импортом все становятся published:0, чтобы исчезнувшие в экселе товары не выводились.
    Вот пример страницы:
    http://бонмастер.рф/br-catalog/stalnye-truby/truba-elektrosvarnaya/
    А вот страница отдельного товара:
    http://бонмастер.рф/br-catalog/rashodnye-materialy/homuty/homuty-neylon-30-h100mm-belye-100sht_.html

    Вывожу примерно так:

    $thisid = $modx->getOption('thisid', $scriptProperties, '');
    $product = $modx->getObject('modResource',$thisid);
    $thisChilds = $modx->getChildIds($thisid,4);
    array_push($thisChilds, $thisid);
    $c = $modx->newQuery('modResource');
    $c->where(array(
      'id:IN' => $thisChilds,
    ));
    $catData = $modx->getCollection('modResource',$c);
    
    $catTree = $modx->getTree($thisid,10000); 
    ?>
    
    <?php
    
    $levelUri = explode("/", $_SERVER["REQUEST_URI"]);
    $levelUri = array_diff($levelUri, array(''));
    $levelUri1 = $levelUri['1'];
    $levelUri2 = $levelUri['2'];
    $levelUri3 = $levelUri['3'];
    
    ?>
    
    <tbody>
    <?
    
    $pids = $modx->getParentIds($thisid, 10, array('context' => 'web'));
    $catTreeFinal = array();
    if (count($pids)==1){
      foreach($catTree as $val){
        $catTreeFinal = $catTreeFinal + $val;
      }
    }else if (count($pids)==2){
      $catTreeFinal = $catTree;
    }else if (count($pids)==3){
      $catTreeFinal[$thisid] = $modx->getTree($thisid,10000);
    }
    
    //print_r($catTreeFinal);
    
    foreach($catTreeFinal as $ckey=>$cval){
    ?>
      <?if (is_array($cval)){?>
      <tr>
        <td colspan="5" class="product-category"><?=$catData[$ckey]->get('pagetitle')?></td>
      </tr>
        <?
        $tdbgcolor=1;
        foreach ($cval as $pcid=>$data){
          if ($catData[$pcid]->get('published')){
          $tdbgcolor=($tdbgcolor==0)?"1":"0";
          ?>
            <!--<tr class="bg<?=$tdbgcolor?>">-->
            <tr class="bgc">
                
                <td class="product-header hidden-xs">
                    <?=$catData[$pcid]->get('pagetitle')?>
                </td>
                <td class="product-price1 hidden-xs">
                <!-- price1 -->
                    <div class="price1"><?=$catData[$pcid]->getTVValue('price1')?></div>
                <!-- price1 -->
                </td>
                <td class="product-price2 hidden-xs hidden-sm hidden-md hidden-lg">
                <!-- price2 -->
                    <div class="price2"><?=$catData[$pcid]->getTVValue('price2')?></div>
                <!-- price2 -->
                </td>
                <td class="product-price3 hidden-xs hidden-sm hidden-md hidden-lg">
                <!-- price3 -->
                    <div class="price3"><?=$catData[$pcid]->getTVValue('price3')?></div>
                <!-- price3 -->
                </td>
                <td class="product-add" onClick="">
                    
                    <div class="visible-xs-block">
                        <b><?=$catData[$pcid]->get('pagetitle')?></b><br />
                        <?php
                        
                            $parent_units = $catData[$ckey]->getTVValue('product_units');
                            $pt;
                            if($parent_units == "mp"){
                                $pt = "м.п.";
                            }elseif($parent_units == "mk"){
                                $pt = "м.кв.";
                            }elseif($parent_units == "p"){
                                $pt = "шт.";
                            }
                        ?>
                        Цена руб. (за 1 ед) - <?=$catData[$pcid]->getTVValue('price1')?><br />
                        <!--Цена руб. (за 1 <?=$pt?>) - <?=$catData[$pcid]->getTVValue('price1')?><br />-->
                        <span class="hidden-xs hidden-sm hidden-md hidden-lg">Цена руб. (за 1 ед.) - <?=$catData[$pcid]->getTVValue('price2')?><br /></span>
                        <span class="hidden-xs hidden-sm hidden-md hidden-lg">Резка - <?=$catData[$pcid]->getTVValue('price3')?><br /></span>
                    </div>
                    
                    <div parent-item-units="<?=$parent_units?>" item-units="<?=$catData[$pcid]->getTVValue('product_units')?>" item-id="<?=$pcid?>" onClick="todoVBR($(this)); $('#orderForm').modal('show');" class="basket order-link">
                        <span class="pointer">Сделать заказ</span>
                    </div>
                    
                </td>
                
            </tr>
          <?}
        }
      }?>
    
    <?}?>
    </tbody>

  • Администраторы

    Брр... как страшно выводите. Но, если страницы не опубликованы, то почему они открываются не понятно. Может у вас страница 404 не создана и не настроена? Нужно создать документ "Страница не найдена", сделать чтобы он не показывался в меню (hidemenu) и в настройках сайта назначить его для всех 404.



Последние темы

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.