Ссылка на предыдущий и следующий товар в интернет-магазине

#
Re: Ссылка на предыдущий и следующий товар в интернет-магазине
Добрый день)) поделитесь пожалуйста готовым решением для информационных систем
#
Re: Ссылка на предыдущий и следующий товар в интернет-магазине
astroom-design,
благодаря поддержке разобралась как сделать ссылки на след и пред элемент, но вот у вас на примере ссылка перестает показываться, если далее нет элемента, как вы это реализовали? )) спасибо!

#
Re: Ссылка на предыдущий и следующий товар в интернет-магазине
Вставлять приведенный в топике код желательно вставить перед $Informationsystem_Controller_Show в ТДС
Если появились ошибки объявления переменной после вставки XSL кода, вставить следующее:
<xsl:variable name="prev_item" select="/informationsystem/neighboring_items/prev_item"/>
<xsl:variable name="next_item" select="/informationsystem/neighboring_items/next_item"/>


Тогда у меня возникла проблема с $link_path, которая выводит URL до требуемого нам элемента. Т.к кода к ней тут не было,
попытался дописать что-то сам:
<xsl:variable name="link_path" select="/informationsystem/url"/>

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

Надеюсь, кому-нить поможет. Так же спасибо поддержке HostCMS
#
Re: Ссылка на предыдущий и следующий товар в интернет-магазине (теперь и с названиями товаров)
Немного допиленное:
в ТДС интернет-магазина перед показом вставляем:
// добавляем окружающие элементы
// Если мы находимся на странице товара
if ($Shop_Controller_Show->item) {
   $oShop_Item = Core_Entity::factory('Shop_Item', $Shop_Controller_Show->item);

   // Текущий элемент
   $cur_elem = $Shop_Controller_Show->item;
   // Текущая группа
   $cur_group = $oShop_Item->shop_group_id;
   // SELECT * FROM shop_items WHERE shop_items.id < $cur_elem ORDER BY shop_items.id DESC LIMIT 1
   $oCore_QueryBuilder_Select = Core_QueryBuilder::select()
      ->select('shop_items.path','shop_items.name')
      ->from('shop_items')
      ->open()
      ->where('shop_items.id', '<', $cur_elem)
      ->setAnd()
      ->where('shop_items.shop_group_id', '=', $cur_group)
      ->setAnd()
      ->where('shop_items.deleted', '=', '0')
      ->close()
      ->clearOrderBy()
      ->orderBy('id', 'DESC')
      ->limit(1);
      $prev = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev = $prev['path'];
      $prev_name = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev_name = $prev_name['name'];
   // SELECT * FROM shop_items WHERE shop_items.id > $cur_elem ORDER BY shop_items.id LIMIT 1
   $oCore_QueryBuilder_Select = Core_QueryBuilder::select()
      ->select('shop_items.path','shop_items.name')
      ->from('shop_items')
      ->open()
      ->where('shop_items.id', '>', $cur_elem)
      ->setAnd()
      ->where('shop_items.shop_group_id', '=', $cur_group)
      ->setAnd()
      ->where('shop_items.deleted', '=', '0')
      ->close()
      ->clearOrderBy()
      ->orderBy('id')
      ->limit(1);
      $next = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next = $next ['path'];
      $next_name = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next_name = $next_name['name'];
   $Shop_Controller_Show
      ->addEntity(Core::factory('Core_Xml_Entity')
      ->name('neighboring_items')
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item')->value($prev))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item_name')->value($prev_name))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('next_item')->value($next))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('next_item_name')->value($next_name))
      );
}
// добавляем окружающие элементы


в XSL товара под:
<!-- Получаем ID родительской группы и записываем в переменную $group -->
      <xsl:variable name="group" select="/shop/group"/>

добавляем:
<!-- окружающие элементы -->
      <xsl:variable name="path">
         <xsl:choose>
            <xsl:when test="/shop//shop_group[@id=$group]/node()"><xsl:value-of select="/shop//shop_group[@id=$group]/url"/></xsl:when>
            <xsl:otherwise><xsl:value-of select="/shop/url"/></xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      <xsl:variable name="link_path" select="/shop//shop_group[@id=$group]/url"/>
      <xsl:variable name="prev_item" select="/shop/neighboring_items/prev_item"/>
      <xsl:variable name="next_item" select="/shop/neighboring_items/next_item"/>
      <xsl:variable name="prev_item_name" select="/shop/neighboring_items/prev_item_name"/>
      <xsl:variable name="next_item_name" select="/shop/neighboring_items/next_item_name"/>
      <div class="navigator">
         <xsl:choose>
            <xsl:when test="$prev_item != ''">
               <a href="{$link_path}{$prev_item}/">&#60; Предыдущий товар (<xsl:value-of select="$prev_item_name" />)</a>
            </xsl:when>
            <xsl:otherwise>
               <span class="previous">&#60; Предыдущий товар</span>
            </xsl:otherwise>
         </xsl:choose>
         <xsl:choose>
            <xsl:when test="$next_item != ''">
               <a href="{$link_path}{$next_item}/">(<xsl:value-of select="$next_item_name" />) Следующий товар &#62;</a>
            </xsl:when>
            <xsl:otherwise>
               <span class="next">Следующий товар &#62;</span>
            </xsl:otherwise>
         </xsl:choose>
      </div>
      <!-- /окружающие элементы -->


Пользуйтесь на здоровье!
Знания имеют свои пределы, и только глупость человеческая не знает границ...
#
Re: Ссылка на предыдущий и следующий элемент в информационной системе (теперь и с именами)
в ТДС информационной системы перед показом добавляем:
// добавляем окружающие элементы
// Если мы находимся на странице товара
if ($Informationsystem_Controller_Show->item) {
   $oInformationsystem_Item = Core_Entity::factory('Informationsystem_Item', $Informationsystem_Controller_Show->item);
   
   // Текущий элемент
   $cur_elem = $Informationsystem_Controller_Show->item;
   // Текущая группа
   $cur_group = $oInformationsystem_Item->informationsystem_group_id;

   // SELECT * FROM informationsystem_Items WHERE informationsystem_Items.id < $cur_elem ORDER BY informationsystem_Items.id DESC LIMIT 1
   $oCore_QueryBuilder_Select = Core_QueryBuilder::select()
      ->select('informationsystem_items.path','informationsystem_items.name')
      ->from('informationsystem_items')
      ->open()
      ->where('informationsystem_items.id', '<', $cur_elem)
      ->setAnd()
      ->where('informationsystem_items.informationsystem_group_id', '=', $cur_group)
      ->setAnd()
      ->where('informationsystem_items.deleted', '=', '0')
      ->close()
      ->clearOrderBy()
      ->orderBy('id', 'DESC')
      ->limit(1);
      $prev = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev = $prev['path'];
      $prev_name = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev_name = $prev_name['name'];

   // SELECT * FROM informationsystem_Items WHERE informationsystem_Items.id > $cur_elem ORDER BY informationsystem_Items.id LIMIT 1
   $oCore_QueryBuilder_Select = Core_QueryBuilder::select()
      ->select('informationsystem_items.path','informationsystem_items.name')
      ->from('informationsystem_items')
      ->open()
      ->where('informationsystem_items.id', '>', $cur_elem)
      ->setAnd()
      ->where('informationsystem_items.informationsystem_group_id', '=', $cur_group)
      ->setAnd()
      ->where('informationsystem_items.deleted', '=', '0')
      ->close()
      ->clearOrderBy()
      ->orderBy('id')
      ->limit(1);
      $next = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next = $next ['path'];
      $next_name = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next_name = $next_name['name'];

   $Informationsystem_Controller_Show
      ->addEntity(Core::factory('Core_Xml_Entity')
      ->name('neighboring_items')
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item')->value($prev))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item_name')->value($prev_name))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('next_item')->value($next))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('next_item_name')->value($next_name))
      );
}
// добавляем окружающие элементы


в XSL в нужное место вставляем:
<!-- Получаем ID родительской группы и записываем в переменную $group -->
      <xsl:variable name="group" select="group"/>
      <!-- окружающие элементы -->
      <xsl:variable name="path">
         <xsl:choose>
            <xsl:when test="/informationsystem//group[@id=$group]/node()"><xsl:value-of select="/informationsystem//group[@id=$group]/url"/></xsl:when>
            <xsl:otherwise><xsl:value-of select="/informationsystem/url"/></xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      <xsl:variable name="link_path" select="/informationsystem//group[@id=$group]/url"/>
      <xsl:variable name="prev_item" select="/informationsystem/neighboring_items/prev_item"/>
      <xsl:variable name="next_item" select="/informationsystem/neighboring_items/next_item"/>
      <xsl:variable name="prev_item_name" select="/informationsystem/neighboring_items/prev_item_name"/>
      <xsl:variable name="next_item_name" select="/informationsystem/neighboring_items/next_item_name"/>
      <div class="navigator">
         <xsl:choose>
            <xsl:when test="$prev_item != ''">
               <a href="{$link_path}{$prev_item}/">&#60; Предыдущий элемент (<xsl:value-of select="$prev_item_name" />)</a>
            </xsl:when>
            <xsl:otherwise>
               <span class="previous">&#60; Предыдущий элемент</span>
            </xsl:otherwise>
         </xsl:choose>
         <xsl:choose>
            <xsl:when test="$next_item != ''">
               <a href="{$link_path}{$next_item}/">(<xsl:value-of select="$next_item_name" />) Следующий элемент &#62;</a>
            </xsl:when>
            <xsl:otherwise>
               <span class="next">Следующий элемент &#62;</span>
            </xsl:otherwise>
         </xsl:choose>
      </div>
      <!-- /окружающие элементы -->


пользуйтесь на здоровье!
Знания имеют свои пределы, и только глупость человеческая не знает границ...
#
Re: Ссылка на предыдущий и следующий товар в интернет-магазине
Для тех кому вдруг надо интегрировать с сортировкой из магазина.
На вариант для ТДМ


      $oShop = $Shop_Controller_Show->getEntity();  
    $direction = $oShop->items_sorting_direction == 0?'ASC':'DESC';
    
    if($oShop->items_sorting_field == 0)
        $column = 'id';
    elseif($oShop->items_sorting_field == 1)
        $column = 'name';
    elseif($oShop->items_sorting_field == 2)
        $column = 'sorting';
    
    $Shop_Controller_ShowItemNextPrev = Core_Entity::factory('Shop_item');

    $Shop_Controller_ShowItemNextPrev
        ->queryBuilder()
        ->where('shop_items.id', '>', $Shop_Controller_Show->item)
        ->clearOrderBy()
        ->limit(1)
        ->order($column, $direction);
  
   $ShopItemPrev = $Shop_Controller_ShowItemNextPrev->findAll();
  
   $Shop_Controller_Show->addEntity(
         Core::factory('Core_Xml_Entity')
            ->name('next')
                ->addEntity(
                   $ShopItemPrev[0]
                )
      );
    
  
  $Shop_Controller_ShowItemNextPrev
        ->queryBuilder()
        ->where('shop_items.id', '<', $Shop_Controller_Show->item)
        ->clearOrderBy()
        ->limit(1)
        ->order($column, $direction);
  
   $ShopItemPrev = $Shop_Controller_ShowItemNextPrev->findAll();
  
   $Shop_Controller_Show->addEntity(
         Core::factory('Core_Xml_Entity')
            ->name('prev')
                ->addEntity(
                   $ShopItemPrev[0]
                )
      );
ArpaWeb
#
Re: Ссылка на предыдущий и следующий товар в интернет-магазине
Добрый вечер, не получается вывести ссылку на элемент, т.е. она так выводится    <a href="{$prev_item}/"> - без {$link_path} (т.е. если по ней кликнуть, эта ссылка просто прибавляется к текущему)
#
Re: Ссылка на предыдущий и следующий товар в интернет-магазине
добрый день)) спасибо за код)) вопрос в следующем...мне нужно добавить к выводу предыдущего и следующего изображения. Я добавила в ТДС и шаблон код...изобрадение в xsl показывается, но без пути до него. подстановка
{dir}
ведет до папки текущего товара.

Как указать путь до папки следующего\предыдущего товара?? спасибо

ТДС
// добавляем окружающие элементы
// Если мы находимся на странице товара
if ($Shop_Controller_Show->item) {
   $oShop_Item = Core_Entity::factory('Shop_Item', $Shop_Controller_Show->item);

   // Текущий элемент
   $cur_elem = $Shop_Controller_Show->item;
   // Текущая группа
   $cur_group = $oShop_Item->shop_group_id;
   // SELECT * FROM shop_items WHERE shop_items.id < $cur_elem ORDER BY shop_items.id DESC LIMIT 1
   $oCore_QueryBuilder_Select = Core_QueryBuilder::select()
      ->select('shop_items.path','shop_items.name','shop_items.image_large')
      ->from('shop_items')
      ->open()
      ->where('shop_items.id', '<', $cur_elem)
      ->setAnd()
      ->where('shop_items.shop_group_id', '=', $cur_group)
      ->setAnd()
      ->where('shop_items.deleted', '=', '0')
      ->close()
      ->clearOrderBy()
      ->orderBy('id', 'DESC')
      ->limit(1);
      $prev = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev = $prev['path'];
      $prev_name = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev_name = $prev_name['name'];
      $prev_image = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev_image = $prev_image['image_large'];
   // SELECT * FROM shop_items WHERE shop_items.id > $cur_elem ORDER BY shop_items.id LIMIT 1
   $oCore_QueryBuilder_Select = Core_QueryBuilder::select()
      ->select('shop_items.path','shop_items.name','shop_items.image_large')
      ->from('shop_items')
      ->open()
      ->where('shop_items.id', '>', $cur_elem)
      ->setAnd()
      ->where('shop_items.shop_group_id', '=', $cur_group)
      ->setAnd()
      ->where('shop_items.deleted', '=', '0')
      ->close()
      ->clearOrderBy()
      ->orderBy('id')
      ->limit(1);
      $next = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next = $next ['path'];
      $next_name = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next_name = $next_name['name'];
      $next_image = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next_image = $next_image['image_large'];
   $Shop_Controller_Show
      ->addEntity(Core::factory('Core_Xml_Entity')
      ->name('neighboring_items')
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item')->value($prev))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item_name')->value($prev_name))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item_image')->value($prev_image))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('next_item')->value($next))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('next_item_name')->value($next_name))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('next_item_image')->value($next_image))
      );
}
// добавляем окружающие элементы


Шаблон
         <!-- окружающие элементы -->
      <xsl:variable name="path">
         <xsl:choose>
            <xsl:when test="/shop//shop_group[@id=$group]/node()"><xsl:value-of select="/shop//shop_group[@id=$group]/url"/></xsl:when>
            <xsl:otherwise><xsl:value-of select="/shop/url"/></xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      <xsl:variable name="link_path" select="/shop//shop_group[@id=$group]/url"/>
      <xsl:variable name="prev_item" select="/shop/neighboring_items/prev_item"/>
      <xsl:variable name="next_item" select="/shop/neighboring_items/next_item"/>
      <xsl:variable name="prev_item_name" select="/shop/neighboring_items/prev_item_name"/>
      <xsl:variable name="next_item_name" select="/shop/neighboring_items/next_item_name"/>
      <xsl:variable name="prev_item_image" select="/shop/neighboring_items/prev_item_image"/>
      <xsl:variable name="next_item_image" select="/shop/neighboring_items/next_item_image"/>
      <div class="navigator">
         <xsl:choose>
            <xsl:when test="$prev_item != ''">
              
              <a class="sit-preview" href="{$link_path}{$prev_item}/" data-preview-url="{$prev_item_image}" data-item-name="$prev_item_name" data-item-cost="14" data-item-category="WordPress / Miscellaneous" data-item-author="GDragoN" data-title="Smart Posts Index"><xsl:value-of select="$prev_item_name" /></a>
              
                 
          
            </xsl:when>
            <xsl:otherwise>
               <span class="previous">&#60; Предыдущий товар</span>
            </xsl:otherwise>
         </xsl:choose>
         <xsl:choose>
            <xsl:when test="$next_item != ''">
               <a class="sit-preview" href="{$link_path}{$next_item}/" data-preview-url="{$next_item_image}" data-item-name="$next_item_name" data-item-cost="14" data-item-category="WordPress / Miscellaneous" data-item-author="GDragoN" data-title="Smart Posts Index"><xsl:value-of select="$next_item_name" /></a>
              
            </xsl:when>
            <xsl:otherwise>
               <span class="next">Следующий товар &#62;</span>
            </xsl:otherwise>
         </xsl:choose>
      </div>
      <!-- /окружающие элементы -->
#
Re: Ссылка на предыдущий и следующий товар в интернет-магазине
Решение с изображением (спасибо поддержке)

для ТДС

// добавляем окружающие элементы
// Если мы находимся на странице товара
if ($Shop_Controller_Show->item) {
   $oShop_Item = Core_Entity::factory('Shop_Item', $Shop_Controller_Show->item);

   // Текущий элемент
   $cur_elem = $Shop_Controller_Show->item;
   // Текущая группа
   $cur_group = $oShop_Item->shop_group_id;
   // SELECT * FROM shop_items WHERE shop_items.id < $cur_elem ORDER BY shop_items.id DESC LIMIT 1
   $oCore_QueryBuilder_Select = Core_QueryBuilder::select()
      ->select('shop_items.path','shop_items.name','shop_items.id','shop_items.image_large','shop_items.price')
      ->from('shop_items')
      ->open()
      ->where('shop_items.id', '<', $cur_elem)
      ->setAnd()
      ->where('shop_items.shop_group_id', '=', $cur_group)
      ->setAnd()
      ->where('shop_items.deleted', '=', '0')
      ->close()
      ->clearOrderBy()
      ->orderBy('id', 'DESC')
      ->limit(1);
      $prev = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev = $prev['path'];
      $prev_name = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev_name = $prev_name['name'];
      $prev_image = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev_image = $prev_image['image_large'];
      $prev_dir = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev_id = $prev_dir['id'];
      $dir_prev = Core_Entity::factory('Shop_Item', $prev_id)->getItemHref();
      $prev_price = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $prev_price = $prev_price['price'];
   // SELECT * FROM shop_items WHERE shop_items.id > $cur_elem ORDER BY shop_items.id LIMIT 1
   $oCore_QueryBuilder_Select = Core_QueryBuilder::select()
      ->select('shop_items.path','shop_items.name','shop_items.id','shop_items.image_large','shop_items.price')
      ->from('shop_items')
      ->open()
      ->where('shop_items.id', '>', $cur_elem)
      ->setAnd()
      ->where('shop_items.shop_group_id', '=', $cur_group)
      ->setAnd()
      ->where('shop_items.deleted', '=', '0')
      ->close()
      ->clearOrderBy()
      ->orderBy('id')
      ->limit(1);
      $next = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next = $next ['path'];
      $next_name = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next_name = $next_name['name'];
      $next_image = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next_image = $next_image['image_large'];
      $next_dir = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next_id = $next_dir['id'];
      $dir_next = Core_Entity::factory('Shop_Item', $next_id)->getItemHref();
      $next_price = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
      $next_price = $next_price['price'];
   $Shop_Controller_Show
      ->addEntity(Core::factory('Core_Xml_Entity')
      ->name('neighboring_items')
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item')->value($prev))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item_name')->value($prev_name))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item_image')->value($prev_image))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item_idprev')->value($dir_prev))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item_price')->value($prev_price))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('next_item')->value($next))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('next_item_name')->value($next_name))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('next_item_image')->value($next_image))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('prev_item_idnext')->value($dir_next))
         ->addEntity(Core::factory('Core_Xml_Entity')->name('next_item_price')->value($next_price))
      );
}
// добавляем окружающие элементы


для Шаблона

<!-- окружающие элементы -->
      <!-- Получаем ID родительской группы и записываем в переменную $group -->
      <xsl:variable name="group" select="/shop/group"/>
      <xsl:variable name="path">
         <xsl:choose>
            <xsl:when test="/shop//shop_group[@id=$group]/node()"><xsl:value-of select="/shop//shop_group[@id=$group]/url"/></xsl:when>
            <xsl:otherwise><xsl:value-of select="/shop/url"/></xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      <xsl:variable name="link_path" select="/shop//shop_group[@id=$group]/url"/>
      <xsl:variable name="prev_item" select="/shop/neighboring_items/prev_item"/>
      <xsl:variable name="next_item" select="/shop/neighboring_items/next_item"/>
      <xsl:variable name="prev_item_name" select="/shop/neighboring_items/prev_item_name"/>
      <xsl:variable name="next_item_name" select="/shop/neighboring_items/next_item_name"/>
      <xsl:variable name="prev_item_image" select="/shop/neighboring_items/prev_item_image"/>
        <xsl:variable name="prev_item_idprev" select="/shop/neighboring_items/prev_item_idprev"/>
       <xsl:variable name="prev_item_idnext" select="/shop/neighboring_items/prev_item_idnext"/>
      <xsl:variable name="next_item_image" select="/shop/neighboring_items/next_item_image"/>
      <xsl:variable name="prev_item_price" select="/shop/neighboring_items/prev_item_price"/>
      <xsl:variable name="next_item_price" select="/shop/neighboring_items/next_item_price"/>
      <div class="navigator">
         <xsl:choose>
            <xsl:when test="$prev_item != ''">
               
               <a class="sit-preview prev" href="{$link_path}{$prev_item}/" data-preview-url="{$prev_item_idprev}{$prev_item_image}" data-item-name="{$prev_item_name}" data-item-cost="{$prev_item_price}" data-item-category="{/shop/name} / {/shop//shop_group[@id=$group]/name}" data-item-author="" data-title="{$prev_item_name}"><xsl:value-of select="$prev_item_name" /></a>
               
               
               
            </xsl:when>
            <xsl:otherwise>
               <span class="previous">&#60; Предыдущий товар</span>
            </xsl:otherwise>
         </xsl:choose>
         <xsl:choose>
            <xsl:when test="$next_item != ''">
               <a class="sit-preview next" href="{$link_path}{$next_item}/" data-preview-url="{$prev_item_idnext}{$next_item_image}" data-item-name="$next_item_name" data-item-cost="{$next_item_price}" data-item-category="{/shop/name} / {/shop//shop_group[@id=$group]/name}" data-item-author="" data-title="{$next_item_name}"><xsl:value-of select="$next_item_name" /></a>
               
            </xsl:when>
            <xsl:otherwise>
               <span class="next">Следующий товар &#62;</span>
            </xsl:otherwise>
         </xsl:choose>
      </div>
      <!-- /окружающие элементы -->
#
Re: Re: Ссылка на предыдущий и следующий товар в интернет-магазине
Цитата:
Добрый вечер, не получается вывести ссылку на элемент, т.е. она так выводится    <a href="{$prev_item}/"> - без {$link_path} (т.е. если по ней кликнуть, эта ссылка просто прибавляется к текущему)

да, ссылки на инфоэлементы не верные.. к урлу элемента добавляется еще кусочек из урла другого элемента
Авторизация