TemKa_SD 9 08/04/18 23:50 (изменено) Здравствуйте. Сделал систему рецептов для крафта вещей: https://wc3.games/recept/ столкнулся с несколькими проблемами. Основная проблема в том, что, не правильно формируются предметы для рецепта, они встают в неправильную позицию. Вот взять второй рецепт: Меч света - должен быть на первой позиции.Браслет прозрения на второй.Третьим должен быть камень целителя. Формирование происходит в той последовательности, в которой указаны ингредиенты в поле типа "список выбора", скажите, реально это как-то преобразовать в нужном мне виде? При этом, в самом фильтре ингредиенты должны идти по алфавиту. Второй вопрос на засыпку: Эти рецепту относятся к этой карте: https://wc3.games/maps/4-heroic-town/ сами карты реализованы через "клубы", можно ли сделать интеграцию страницы с этим? Шаблон: {{$rowIds = array();}} {{foreach $rows as $row}} {{$idField = $row::$databaseColumnId;}} {{$rowIds[] = $row->$idField;}} {{endforeach}} {{$iposted = $table ? $table->contentPostedIn : array();}} {{foreach $rows as $row}} {{$idField = $row::$databaseColumnId;}} {{$ingridient_key = explode( ',', $row->field_7);}} {{$ingridient_value = explode( ',', $row->customFieldDisplayByKey('ingredients', 'processed'));}} <li class="ipsGrid_span3 ipsStreamItem ipsStreamItem_contentBlock cTopMembers_member ipsAreaBackground_reset ipsPad ipsType_center"> {{if $trophy}} <span class="ipsLeaderboard_trophy ipsLeaderboard_trophy_{$trophy}"> <i class="fa fa-trophy"></i> </span> {{endif}} <span class='ipsUserPhoto ht_items ht_items-{$ingridient_key[0]}' data-ipstooltip _title="{$ingridient_value[0]}"></span> <div class='ipsStreamItem_container'> <div class='ipsStreamItem_header ipsSpacer_top ipsSpacer_half'> <h2 class='ipsType_reset ipsStreamItem_title ipsTruncate ipsTruncate_line'> {$ingridient_value[0]} </h2> </div> <hr class='ipsHr ipsHr_small'> <ul class='ipsList_reset ipsGrid'> <li class='ipsGrid_span5 ipsList_reset ipsType_center'> <span class='ipsUserPhoto ht_items ht_items-{$ingridient_key[1]}' data-ipstooltip _title="{$ingridient_value[1]}"></span> </li> <li class='ipsGrid_span1 ipsList_reset ipsType_center'>+</li> <li class='ipsGrid_span5 ipsList_reset ipsType_center'> <span class='ipsUserPhoto ht_items ht_items-{$ingridient_key[2]}' data-ipstooltip _title="{$ingridient_value[2]}"></span> </li> </ul> <hr class="ipsHr ipsHr_small"> <p class="ipsType_reset ipsType_medium">{$row->customFieldDisplayByKey('contentfield_3', 'listing')|raw}</p> </div> </li> {{endforeach}} Изменено 4 августа 2018 пользователем TemKa_SD Поделиться сообщением Ссылка на сообщение
newbie 1723 08/05/18 11:07 Формирование происходит в той последовательности, в которой указаны ингредиенты в поле типа "список выбора", скажите, реально это как-то преобразовать в нужном мне виде?Как пишите, так и отображается:$ingridient_value[0] - браслет$ingridient_value[1] - камень$ingridient_value[2] - мечможно ли сделать интеграцию страницы с этим?Что именно? Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 08/05/18 12:24 Как пишите, так и отображается:$ingridient_value[0] - браслет$ingridient_value[1] - камень$ingridient_value[2] - мечДа, я понимаю. Но мне нужно иначе реализовать, чтобы 0 - был меч, при этом, не передвигая список выбора.Что именно?Ну как минимум бреадкапм, чпу, шаблон подкрутить под клубы. Поделиться сообщением Ссылка на сообщение
newbie 1723 08/05/18 12:58 Да, я понимаю. Но мне нужно иначе реализовать, чтобы 0 - был меч, при этом, не передвигая список выбора.У Вас там много мечей.Что делать если юзер выберет 3 меча? Ну как минимум бреадкапм, чпу, шаблон подкрутить под клубы.Еще более запутанно. Что куда нужно внедрить? Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 08/05/18 13:23 У Вас там много мечей.Что делать если юзер выберет 3 меча? Ну да, позиций там много, а ингредиентов порядка 400. Если юзер выберет 3 произвольных меча - такого рецепта скорей всего не будет, именно по этим трем полям. Может вам помогут понять сами рецепты: https://w3map.jimdo.com/%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D1%8B/%D1%80%D0%B5%D1%86%D0%B5%D0%BF%D1%82%D1%8B Еще более запутанно. Что куда нужно внедрить? Вот в клубы https://wc3.games/maps/4-heroic-town/ нужно интегрировать страницу https://wc3.games/recept/ чтобы у странице было:1. Бреадкамп вместо Главная > Рецепты было Главная > Карты > Heroic Town > Рецепты.2. Интегрировать шаблон клубов к СТРАНИЦЕ, хотя бы ШАПКУ и меню.3. ЧПУ вместо https://wc3.games/recept/ было https://wc3.games/maps/4-heroic-town/recept/. Поделиться сообщением Ссылка на сообщение
newbie 1723 08/07/18 07:28 Ну да, позиций там много, а ингредиентов порядка 400. Если юзер выберет 3 произвольных меча - такого рецепта скорей всего не будет, именно по этим трем полям. Может вам помогут понять сами рецепты: https://w3map.jimdo....%BF%D1%82%D1%8BСоставьте список из предметов, которые будут на первом месте. Далее проверяйте.Что-то типа{{$first = '';}} {{$things = array('sword1', 'sword2', 'sword3');}} {{foreach explode(',', $row->field_7) as $key}} {{if in_array($key, $things)}} {{$first = $key;}} {{break;}} {{endif}} {{endforeach}} 3. ЧПУ вместо https://wc3.games/recept/ было https://wc3.games/ma...c-town/recept/. Создайте папки в Pages2. Интегрировать шаблон клубов к СТРАНИЦЕ, хотя бы ШАПКУ и меню.В шаблон страницы добавляете {{ $club = null; try { $club = \IPS\Member\Club::load(1); } catch (\OutOfRangeException $e) {} }} {{if $club}} {{\IPS\Output::i()->breadcrumb = array(array(\IPS\Http\Url::internal('app=core&module=clubs&controller=directory', 'front', 'clubs_list'), \IPS\Member::loggedIn()->language()->addToStack('module__core_clubs')), array($club->url(), $club->name));}} {{if \IPS\Settings::i()->clubs_header != 'sidebar'}} {template="header" group="clubs" app="core" params="$club"} {{endif}} {{endif}} 1. Бреадкамп вместо Главная > Рецепты было Главная > Карты > Heroic Town > Рецепты. Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 08/07/18 09:19 (изменено) https://wc3.games/recept/ браслет прозрения во втором рецепте пропал. И еще по шапке клуба, есть может какой-то функционал, чтобы вставить ссылку в меню клуба? Или нужно через шаблон ток? Какие переменные тут будут (см скрин)? Изменено 7 августа 2018 пользователем TemKa_SD Поделиться сообщением Ссылка на сообщение
newbie 1723 08/07/18 11:10 ХныкЗначит нужно что-то другое придумывать. https://wc3.games/recept/ браслет прозрения во втором рецепте пропал. Я же только пример дал.{{$things = array('sword1', 'sword2', 'sword3');}} {{$count = count($things);}} {{foreach $rows as $row}} {{$resultKey = null;}} {{$ingridient_key = explode(',', $row->field_7);}} {{$ingridient_value = explode( ',', $row->customFieldDisplayByKey('ingredients', 'processed'));}} <li class="ipsGrid_span3 ipsStreamItem ipsStreamItem_contentBlock ipsAreaBackground_reset ipsPad ipsType_center"> {{foreach $ingridient_key as $k => $v}} {{if in_array($v, $things)}} {{$resultKey = $k;}} {{break;}} {{endif}} {{endforeach}} {{if $resultKey !== null}} <span class='ipsUserPhoto ht_items ht_items-{$ingridient_key[$resultKey]}' data-ipstooltip _title="{$ingridient_value[$resultKey]}"></span> <div class='ipsStreamItem_container'> <div class='ipsStreamItem_header ipsSpacer_top ipsSpacer_half'> <h2 class='ipsType_reset ipsStreamItem_title ipsTruncate ipsTruncate_line'> {$ingridient_value[$resultKey]} </h2> </div> <hr class='ipsHr ipsHr_small'> <ul class='ipsList_reset ipsGrid'> {{foreach $ingridient_key as $k => $v}} {{if $resultKey != $k}} <li class='ipsGrid_span5 ipsList_reset ipsType_center'> <span class='ipsUserPhoto ht_items ht_items-{$ingridient_key[$k]}' data-ipstooltip _title="{$ingridient_value[$k]}"></span> </li> {{if ($count-1) != $k}} {{if (($count-1) == $resultKey) and (($resultKey-1) == $k)}} {{continue;}} {{endif}} <li class='ipsGrid_span1 ipsList_reset ipsType_center'>+</li> {{endif}} {{endif}} {{endforeach}} </ul> <hr class="ipsHr ipsHr_small"> <p class="ipsType_reset ipsType_medium">{$row->customFieldDisplayByKey('contentfield_3', 'listing')|raw}</p> </div> {{else}} Какой-то левый рецепт {{endif}} </li> {{endforeach}} есть может какой-то функционал, чтобы вставить ссылку в меню клуба?Нет.Какие переменные тут будут (см скрин)?request.app == 'cms' and request.module == 'pages' and request.controller == 'page' Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 08/07/18 14:25 Спасибо огромное, вроде работает. Подскажите еще как вот это убрать и всё ))) Поделиться сообщением Ссылка на сообщение
newbie 1723 08/08/18 05:13 Подскажите еще как вот это убрать и всё )))Поправил пост. Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 08/08/18 12:40 Зарегитесь, потом удалю аккаунт. А то у меня вход через соц сети, от них доступ давать нужно. Поделиться сообщением Ссылка на сообщение