Баха Волков

Баха Волков

С нами с 10 ноября 2016; Место в рейтинге пользователей: #10
18 июля 2018, 10:07
0
Ну а чистка кэша не помогает?
18 июля 2018, 09:56
0
«Удалить» — удаляет транспортный пакет (установочные файлы)
«Деинсталлировать» — соответственно, деинсталлируется, удаляются файлы из системы, чанки, сниппеты, плагины и т.д., но транспортный пакет останется, для того чтобы можно было установить его при необходимости

Соответственно, нужно сначала деинсталлировать, а потом удалить
18 июля 2018, 09:33
0
Я правильно понимаю, что нужно давать возможность пользователя выбирать дату в период между двумя датами на странице товара, и чтобы эта дата передалась в корзину ну в следствии в заказ?
18 июля 2018, 09:27
1
+1
<?php
$obj = json_decode($value);

return '/stock-photo/' . $scriptProperties['row']['id'] . '/' . $obj[0]->image;
17 июля 2018, 22:09
0
Сделайте через сниппет

Вот как Павел сказал, только код вот этот используйте:

<?php
$obj = json_decode($value);

return $obj[0]->image; // "image" название поля в migx
// Если у вас используется другой источник файлов, то
return 'путь к источнику' . $obj[0]->image;

Да, надо что-то дописать, и никак не могу нагуглить плейсхолдер для id ресурса. Безрезультатно перепробовал эти: [[+id]], [[*id]], [[+docid]], [[+record.id]]
Плейсхолдер — где?) Плейсхолдер — куда?) Плейсхолдер — откуда?)

А еще страница с этим Collections загружается просто адски долго! Это норма?
Думаю, что нет, если до ваших стараний загружалась быстро, то есть большая вероятность, что вы неправильное что нибудь сделали
17 июля 2018, 20:34
0
Ну или так:

<?php
$obj = json_decode($value);

return $obj[0]->image;
17 июля 2018, 17:33
0
Единственное, что из-за простой задачи запускать сниппет необязательно вроде. Делайте так:

<?php
$obj = json_decode($value);

return $obj[0]->{'image'};
17 июля 2018, 16:53
0
Не помню, как-то пытался через сниппет, но не заводилось. Поэтому и через js делал
17 июля 2018, 16:50
0
Мда… Оказывается miniShop2 преобразился и в хорошую сторону. Раньше помнится мне, что приходил массив со всеми опциями товаров и уже в чанке проверку производить нужно было заполнено ли оно (могу ошибаться), сейчас приходит массив только с теми свойствами которые заполнены.

Решение

Написать сниппет, который узнавал бы все доступные опции категории товара, и скормить ему массив с msProductOptions, ну и вывести
17 июля 2018, 16:18
+1
collections.renderer.migximage = function (value, metaData, record, rowIndex, colIndex, store) {
	if (value != '' && value != null) {
		var jsonString = value;
		var jsonData = JSON.parse(jsonString);
		var link = jsonData[0].image;   // "image" название поля migx где храниться картинка
		return '<img src="' + link + '" width="64">';
	}
};
16 июля 2018, 22:35
0
Мне кажется, что это кэш браузера
16 июля 2018, 03:12
0
[[!+gl.current.data.resource]]
Что возвращает данный плейсхолдер?
15 июля 2018, 09:05
+1
Покажите чанк вывода
15 июля 2018, 09:01
4
0
Ссылку получать нужно так:

[[~id ресурса]]
{id ресурса | url}

// Прямое указание id ресурса
[[~2]]
{2 | url}

//  Динамичное указание id ресурса
[[~[[+id]]]]
{$id | url}
[[~[[*id]]]]    // Вдруг нужна циклическая ссылка :)
{$_modx->resource.id | url}    // Вдруг нужна циклическая ссылка :)

// ну а если ваш плейсхолдер [[!+gl.current.data.resource]] возвращает именно id, то
[[~[[!+gl.current.data.resource]]]]
{var $myplace = $_modx->getPlaceholder('gl.current.data.resource')}    // Вдруг еще понадобится
{$myplace | url}

// Кстати, для получения полей есть еще FastField
[[#id ресурса.поле или даже тв которое нужно вывести]]
{id ресурса | resource : 'поле или даже тв которое нужно вывести'}

// Пример
[[#1.pagetitle]]    // Получить pagetitle у ресурса с id = 1
{1 | resource : 'pagetitle'}

Как получить родителя по id?
[[*parent]]    // На странице ресурса
{$_modx->resource.parent}
[[+parent]]    // В чанках вывода
{$parent}
[[#[[!+gl.current.data.resource]].parent]]    // Тот случай когда нужно получить id по плейсхолдеру
{$_modx->getPlaceholder('gl.current.data.resource') | resource : 'parent'}
[[pdoField? &id=`[[!+gl.current.data.resource]]` &field=`parent`]]    // Ну или через pdoField
{var $myplace = $_modx->getPlaceholder('gl.current.data.resource')}
{$myplace | resource : 'parent'}

Для корректности, вашем случае нужно поступить вот так:
[[~[[#[[!+gl.current.data.resource]].parent]]]]
{$_modx->getPlaceholder('gl.current.data.resource') | resource : 'parent' | url}
// или
[[~[[pdoField? &id=`[[!+gl.current.data.resource]]` &field=`parent`]]]]
{var $myplace = $_modx->getPlaceholder('gl.current.data.resource')}
{$myplace | resource : 'parent' | url}

UPD
Забыл совсем про uri
Если, что в поле uri хранится ссылка на страницу, но никак не в alias
15 июля 2018, 08:20
0
Вы объявили о работе, но сообщения у вас отключены, так что никто не может откликнуться. Если вам все ещё нужна помощь, то пишите Вк, telegram или на почту в профиле
11 июля 2018, 05:02
1
+2
{var $resource_list = $_modx->runSnippet('pdoResources', [  // Восклицательный знак не обязателен
        'parents' => 2,
	'includeContent'=> 1,
	'includeTVs' => 'image',
        'return' => 'json'
])}

{var $all = $resource_list | fromJSON}  // Можно и один раз преобразовать

{if $all}  // Проверка на пустоту, если переменная пустая, то не выводить
<ul class="ul_inline_items">
      {foreach $all as $item}
              <li{if $item@first} class="active"{/if}><a href="#{$item.id}" aria-controls="{$item.id}" role="tab" data-toggle="tab">{$item.pagetitle}</a></li>  // Проверка в одну строку, так же проще
      {/foreach}  
</ul>
<div class="tab-content">
      {foreach $all as $item}
              <div role="tabpanel" class="tab-pane fade{if $item@first} in active{/if}" id="{$item.id}">
                    {$item.content}
              </div>
       {/foreach}
</div>
{/if}

Вот так-то лучше :)
07 июля 2018, 20:33
+1
Файл:
assets/components/pdotools/js/pdopage.js

Строки 90-95:

$window.on('scroll', function () {
    if (!pdoPage.Reached && $window.scrollTop() > wrapper.height() - $window.height()) {
         pdoPage.Reached = true;
         pdoPage.addPage(config);
    }
});