Alexey

Alexey

С нами с 02 августа 2015; Место в рейтинге пользователей: #201
Alexey
11 января 2021, 20:44
+1
И что возвращает само ТV- поле brand? Может, разделителя нет? Или не тот?
Alexey
11 января 2021, 20:28
+1
А что это за модификатор — strToArray? Переменная $published_brands что возвращает?

Зы: а, не увидел в условии, что подстановка массива не помогает…
Alexey
17 декабря 2020, 15:46
0
В этом случае, если tv-поле не заполнено, но прикреплено к ресурсу, результат все равно будет отрицательный
Alexey
17 декабря 2020, 15:21
0
На тесте всё корректно отрабатывает.
Alexey
17 декабря 2020, 15:13
0
$template_id = 2; //id шаблона ресурса
$tv_id = 5; //id tv-поля

$q = $modx->newQuery('modTemplateVarTemplate');
$q->where([
    'tmplvarid' => $tv_id,
    'templateid' => $template_id
]);
$q->limit(1);

return $modx->getCount('modTemplateVarTemplate', $q);

Как известно, tv-поля прикрепляются не к самим ресурсам, а к шаблонам.

Вот сниппет, который возвращает 0 если tv не прикреплен к указанному шаблону и 1, если прикреплен.
Alexey
17 декабря 2020, 09:41
0
Раз или два сталкивался с такой же проблемой, через некоторое время все само собой нормализовывалось. Так и не выяснил причину… Такое ощущение, что в хроме где-то сидит неудаленная кука, которая все портит)
Alexey
16 декабря 2020, 14:55
0
То есть, нужна проверка, прикреплено ли в принципе tv к этому ресурсу? Не важно, пустая она или нет?
Alexey
16 декабря 2020, 14:53
0
modx.im/blog/questions/2787.html

посмотри тут.

Кстати, какой хостинг?
Alexey
16 декабря 2020, 14:27
0
OnBeforeDocFormSave
Alexey
16 декабря 2020, 13:53
0
Спецом открывал вкладку «настройки» ресурса, все на лету меняется при сохранении. MODX 2.8.1
Alexey
16 декабря 2020, 13:18
+2
Желательно код показать. Тут все прямо ясновидящие, но не настолько же…

Можно попробовать отключить валидатор email-поля и отправить форму. Отправится ли?

И что в логах творится?
Alexey
16 декабря 2020, 13:06
0
<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnBeforeDocFormSave':
        //$resource = $modx->getObject('modResource', $id);
        $resourceAlias = $resource->get('alias');
        $resourceParent = $modx->getObject('modResource', $resource->get('parent'));
        if ($resourceParent) {
            $resourceParentAlias = $resourceParent->get('alias');
            
            $resourceParentIsTabsContainer = $resourceParent->getTVValue('resourceTabsContainer');
            
            if ($resourceParentIsTabsContainer) {
                $resource->set('uri_override', true);
                $resource->set('uri', $resourceParentAlias.'#'.$resourceAlias);
                
                //$resource->save();
            }
        }
        break;
}

Плагин меняет URI, делает его замороженным, если tv-поле родителя ресурса равно true.

Едиственный момент: в этом плагине я закомментил первую и последнюю сроки — они по факту не нужны

Вот такой код корректно всё отрабатывает: URI меняет сразу. У тебя не так? Где не так? На фронте или в админке? Прошу конкретики
Alexey
16 декабря 2020, 09:33
0
А для чего повешено на событие OnDocFormPrerender?
Alexey
15 декабря 2020, 15:26
0
Код плагина в студию
Alexey
15 декабря 2020, 15:15
0
Привет! Повесь плагин на OnBeforeDocFormSave вместо OnDocFormSave
Alexey
11 декабря 2020, 00:06
0
Накидал на тестовом сайте

вызов сниппета:
[[AjaxSnippet?
      &snippet=`my_slider`
      &as_mode=`onload`
]]

Чанк, который отдает сниппет my_slider:
<div class="slider single-item">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
</div>

Код в футере:
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<link rel="stylesheet" type="text/css" href="vendor/js/slick-theme.css"/>
<link rel="stylesheet" type="text/css" href="vendor/js/slick.css"/>
<script src="vendor/js/slick.js"></script>

<script>
    $(document).on('as_complete', document, function(e,d) {
    	$('.single-item').slick();
    });
</script>

Всё прекрасно отрабатывает на тестовом варианте. Значит, осталось разобраться, что именно нужно инициализировать на событие as_complete, как выше написал Константин.
Alexey
10 декабря 2020, 21:02
0
Привет! Класс rows нужно дать тегу tbody, а не table-list
Alexey
10 декабря 2020, 18:25
0
Ошибки есть в консоли браузера?
Alexey
10 декабря 2020, 17:39
0
Помимо предыдущего справедливого замечания: а хук есть? Который сохранит загруженный в форму файл на сервер и добавит путь к файлу в новое поле?