И снова Products

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

WolfHunter
Forum Members
Forum Members
Posts: 22
Joined: Sun Nov 10, 2013 1:02 am

И снова Products

Post by WolfHunter »

Перечитал весь форум, но так и не понял как правильно настроить иерархию.
К примеру, есть иерархия:
> каталог
>> наименование1
>>> фирма1
>>>> товар1
>>>> товар2
>>> фирма2
>>> фирма3
>> наименование2
...
Нужно чтобы при нажатии на "наименование1" выводился список фирм в нем, а при выборе фирмы выводились соответствующие товары.
На данный момент при нажатии на "наименование1" - пустой экран, либо список товаров если они прикреплены к "наименование1".

Второй вопрос:
можно ли все-таки привести URL к виду "http://site.ru/products/naimenovanie1/firma1/tovar1"?

На данный момент добился только
"http://site.ru/products/11/tovar1".
User avatar
sbupravi
Power Poster
Power Poster
Posts: 257
Joined: Sun Oct 07, 2012 9:29 pm
Location: Adler

Re: И снова Products

Post by sbupravi »

Если правильно вас понял - нужно заменить byhierarchy на hierarchy. Тогда увидите список дочерних элементов иерархии.
Обратите внимание на ссылку! Это редактируется в шаблоне.

А теперь такой вопрос, ко всем, кто работал с этим модулем!
Можно добавить какие-то условия в шаблон категорий, чтобы при переходе в иерархию - они были только для товаров в иерархии, но не для всего каталога!?
Сейчас вывел категории, но они никак не связаны с иерархией... Сами по себе...
User avatar
sbupravi
Power Poster
Power Poster
Posts: 257
Joined: Sun Oct 07, 2012 9:29 pm
Location: Adler

Re: И снова Products

Post by sbupravi »

Еще вопрос - как возле имени категории выводить имя родителя?
Шаблон иерархии:

Code: Select all

{* hierarchy report template *}
{if !isset($hdepth) && isset($hierarchy_item)}
<h3>Hierarchy Data for {$hierarchy_item.name} ({$hierarchy_item.id})</h3>
{/if}

{if !isset($hdepth)}{assign var='hdepth' value='0'}{/if}

{*
 // create a nested set of unordered lists 
 // if the active_hierarchy smarty variable exists
 // and matches the current hierarchy id
 // the active class will be given
 // to the ul.  You may want to modify your summary template
 // to set this variable
*}
<ul {if $hdepth == 0}id="products_hierarchy"{/if} class="products_hierarchy_level{$hdepth}">
{foreach from=$hierdata key='key' item='item'}
{strip}
  {$class='product_hier'}
  {if isset($active_hierarchy) and $item.id == $active_hierarchy}{$class=$class|cat:' active'}{/if}
  {if isset($item.children)}{$class=$class|cat:' parent'}{/if}
  <li{if $class != ''} class="{$class}"{/if}>
  {if $item.count gt 0}
     <a href="{$item.url}">{$item.name} ({$item.count} - {$item.id})</a>
  {else}
     {$item.name} ({$item.count})
  {/if}
  
  {if isset($item.children) }
    {* there are children call this template again *}
    {include file=$smarty.template hierdata=$item.children hdepth=$hdepth+1}
  {/if}
  
  </li>
{/strip}

{/foreach}
</ul>

WolfHunter
Forum Members
Forum Members
Posts: 22
Joined: Sun Nov 10, 2013 1:02 am

Re: И снова Products

Post by WolfHunter »

sbupravi wrote:Если правильно вас понял - нужно заменить byhierarchy на hierarchy. Тогда увидите список дочерних элементов иерархии.
Обратите внимание на ссылку! Это редактируется в шаблоне.
так ссылка находится в переменной {$item.url}...

Code: Select all

{if $item.count gt 0}
     <a href="{$item.url}">{$item.name} ({$item.count})</a>
  {else}
     {$item.name} ({$item.count})
{/if}
WolfHunter
Forum Members
Forum Members
Posts: 22
Joined: Sun Nov 10, 2013 1:02 am

Re: И снова Products

Post by WolfHunter »

Неужели до сих пор нет решений данной проблемы? ???
Перечислю €2 на paypal тому, кто напишет нужное решение согласно проблеме из первого поста!
User avatar
guro
Power Poster
Power Poster
Posts: 985
Joined: Thu Apr 26, 2012 8:38 pm
Location: Ramenskoe

Re: И снова Products

Post by guro »

;D ;D ;D
На самом деле решаемо всё. Достаточно немного знаний в программировании и способность разбираться в чужом коде. Пару лет назад я решал задачу из первого поста путем "допиливания" кода модуля. Но, так как по правилам форума нельзя выкладывать измененный код модулей и бог его знает на каком проекте я делал эти "допилы", я не смогу вам помочь в этом вопросе.

На данный момент я практически не использую модуль Products так же как и Cataloger. Если есть желание, можете попробовать мой модуль, в нем возможно реализовать требуемое. Предупреждаю сразу, модуль ещё сырой, не всё реализовано. Но, возможно с вашей помощью он станет лучше))
Attachments
GSimpleShop-1.0.3.xml.tar.gz
(1.21 MiB) Downloaded 235 times
WolfHunter
Forum Members
Forum Members
Posts: 22
Joined: Sun Nov 10, 2013 1:02 am

Re: И снова Products

Post by WolfHunter »

Спасибо, начинаю тестить ваш модуль.
И таки удалось найти кривоватое, но работающее решение без допиливания модуля:

Code: Select all

{if isset($item.children)}
   <a href="http://yousite.ru/products/hierarchy/{$item.id}/{$item.extra1}.html"><img src="{$hierarchy_image_location}/{$item.image}" alt="{$item.name}" class="hie_img"></a><br>
   <a href="http://yousite.ru/products/hierarchy/{$item.id}/{$item.extra1}.html">{$item.name}</a>
{elseif $item.count>0}
   <a href="{$item.url}"><img src="{$hierarchy_image_location}/{$item.image}" alt="{$item.name}" class="hie_img"></a><br>
   <a href="{$item.url}">{$item.name}</a>
{else}
   <img src="{$hierarchy_image_location}/{$item.image}" alt="{$item.name}"><br>
   {$item.name}
{/if}
User avatar
sbupravi
Power Poster
Power Poster
Posts: 257
Joined: Sun Oct 07, 2012 9:29 pm
Location: Adler

Re: И снова Products

Post by sbupravi »

Может кто знает - почему генерируются разные ссылки на категории, выдаваемые тегом {Products action="hierarchy"} ?
А именно отличается конец ссылки:
...2/58.html
...2/15.html
...2/57.html

Это все ссылки на одну и ту же дочернюю категорию! Просто вставлен тег на разных страницах.
Можно получить статические ссылки на категории?

P.S.
вопрос решен - summarypage=""
WolfHunter
Forum Members
Forum Members
Posts: 22
Joined: Sun Nov 10, 2013 1:02 am

Re: И снова Products

Post by WolfHunter »

Снова нужна помощь (guro ;) )
Имеется ссылка генерируемая Products, например:
http://site.ru/products/4/16/tovar.html
Как бы из нее убрать products/4/16/?
Т.е. чтобы получилось http://site.ru/tovar.html
User avatar
guro
Power Poster
Power Poster
Posts: 985
Joined: Thu Apr 26, 2012 8:38 pm
Location: Ramenskoe

Re: И снова Products

Post by guro »

Посмотрите вот эту тему
WolfHunter
Forum Members
Forum Members
Posts: 22
Joined: Sun Nov 10, 2013 1:02 am

Re: И снова Products

Post by WolfHunter »

Спасибо, guro! Предыдущие вопросы худо-бедно порешал. Сейчас появился новый:

- хочу сделать страницу товаров в наличии, для это добавил новое поле (чекбокс). Собственно вопрос, как вывести товары у которых это поле =true?

Может кто-то решал подобную задачу.
User avatar
guro
Power Poster
Power Poster
Posts: 985
Joined: Thu Apr 26, 2012 8:38 pm
Location: Ramenskoe

Re: И снова Products

Post by guro »

Вариант 1.
В шаблоне проверять поле и не показывать товары где поле false( или 0 )
Вариант 2.
Допилить модуль ;-)
WolfHunter
Forum Members
Forum Members
Posts: 22
Joined: Sun Nov 10, 2013 1:02 am

Re: И снова Products

Post by WolfHunter »

А не могли бы написать код проверки поля?
User avatar
guro
Power Poster
Power Poster
Posts: 985
Joined: Thu Apr 26, 2012 8:38 pm
Location: Ramenskoe

Re: И снова Products

Post by guro »

В предположении, что поле называется "new"

Code: Select all

{if $entry->fields.new->value == 'true'}
WolfHunter
Forum Members
Forum Members
Posts: 22
Joined: Sun Nov 10, 2013 1:02 am

Re: И снова Products

Post by WolfHunter »

Вот спасибо необъятное, все получилось! ;D
Post Reply

Return to “Russian - русский”