Получить ссылку и название сортировки Есть решение

В движке ссылка на сортировку выводиться так:

{$wa->shop->sortUrl($sort, $name, $active_sort)}

По тэгу мы получаем готовую ссылку.

Есть ли возможность получить отдельно урл и отдельно текст ссылки?

Хочу сделать сортировку выпадающим списком, но в селект надо отдельно выводить урл и текст.

(да, знаю, что на JS можно что угодно во что угодно переделать, но это костыль. Хочется по-человечески сделать)

4 ответа

  • 1

    shopViewHelper::sortUrl(). Там ничего сложного. :) можно и вручную такие ссылки делать.

    • +2
      Виктор Виктор 9 ноября 2015 01:39 #

      Подскажите подробнее, не получается получить ссылку на сортировку, я не очень понимаю в хелперах, вот как я вывожу select:

      {$sort_fields = [
             'name' => '[`Name`]',
             'price' => '[`Price`]',
             'total_sales' => '[`Bestsellers`]',
             'rating' => '[`Customer rating`]',
             'create_datetime'=>'[`Date added`]',
             'stock' => '[`In stock`]']}
             {if !isset($active_sort)}
                   {$active_sort = $wa->get('sort', 'create_datetime')}
             {/if}
      
              <select id="select_sort" onchange="window.location=this.value">
                  {if !empty($category) && !$category.sort_products}
                       <option{if !$active_sort} selected{/if} value="{$wa->currentUrl(0, 1)}">[`New & Popular`]</option>
                  {/if}
                  {foreach $sort_fields as $sort => $name}
                        <option{if $active_sort == $sort} selected{/if} value="???">{$wa->shop->sortUrl($sort, $name, $active_sort)}</option>
                         {if $wa->get('sort') == $sort}{$wa->title( $wa->title()|cat:' — '|cat:$name)}{/if}
                   {/foreach}
               </select>

      Подскажите как нужно получить URL, чтобы вставить в select?

      Или кто-то может по другому реализовал?



      • +1
        Stratok Stratok 3 октября 2017 10:57 #

        Немножко переделать блок селекта


        <select id="select_sort" onchange="window.location=this.value">
            {if !empty($category) && !$category.sort_products}
                 <option{if !$active_sort} selected{/if} value="{$wa->currentUrl(0, 1)}">[`New & Popular`]</option>
            {/if}
            {foreach $sort_fields as $sort => $name}
                {$fulllink = $wa->shop->sortUrl($sort, $url, $active_sort)}
                {$link = explode("\"", $fulllink)}
                <option{if $active_sort == $sort} selected{/if} value="{$link[1]}">{$wa->shop->sortUrl($sort, $name, $active_sort)}</option>
                {if $wa->get('sort') == $sort}{$wa->title($wa->title()|cat:' — '|cat:$name)}{/if}
            {/foreach}
        </select>
  • 1
    Jeka_Pro™ 27 февраля 2016 13:50 #

    {$wa->get()|debug_print_var}

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите