Dolce

Dolce

С нами с 30 июня 2016; Место в рейтинге пользователей: #139
Dolce
27 июня 2021, 12:34
0
Здравствуйте. Спасибо за ответ. Дописал нужное поле в ms2_category_grid_fields и активировал ms2_category_show_options.
Колонка появилась, но значений в ней нет, хотя у товаров они есть.
Dolce
17 июня 2021, 12:07
0
А для страницы у вас выбран пустой шаблон?
Dolce
16 февраля 2021, 14:20
0
Возможно проще, но как по мне это костыльно — вместо того, что бы работать напрямую, мы скрываем нативный блок и на нем триггерим событие с другого элемента. Я не любитель такого подхода, но это кому как, хорошо когда есть выбор, как реализовывать, а решать уже вам
Dolce
30 мая 2019, 14:28
0
Спасибо за ответы. Я так в принципе и думал сделать, но так как это все таки костыль, решил спросить, может можно как-то сделать по человечески =))
Dolce
13 января 2019, 16:15
0
Получилось вот так получать опции товаров.
<?php

$parent = [17074,24];

if(!$list = $modx->getCollection('modResource', array(
	'parent:IN' => $parent,
	'template' => 3

))){return;}

foreach ($list as $item){
	$id = $item->get('id');
    if (!$product = $modx->getObject('msProduct', $id)) {
        return $options;
    }
    $options = $product->loadData()->get('options');


    foreach ($options as $k => $v) {
        if (is_array($v)) {
            $options[$k] = array_map('trim', $options[$k]);
            $options[$k] = array_keys(array_flip($options[$k]));
            $options[$k] = array_filter($options[$k]);
        }
        else {
            $options[$k] = trim($options[$k]);
        }
        echo $k;
        print_r($options[$k]);
        
    }
}
Но в $k лежат ключи опции, а как же получить именно названия опций?

Dolce
25 ноября 2018, 00:36
0
К свойству товара удалось добраться так:
if ($product = $modx->getObject('msProductData', 28116)) {
    echo $product->get('weight');
}
Но к опции все никак не могу получить доступ.
Dolce
19 ноября 2018, 15:35
0
Что именно «Не так»?=)Я решил так, по другому не нашел как это решить, если не трудно напишите как это сделать. Спасибо
Dolce
19 ноября 2018, 15:04
0
Решил через returnIds=`1` и дальнейшую передачу в сниппет айдишников
Dolce
31 октября 2018, 17:42
0
Спасибо.
Даже не знаю почему, но думалось, что этот заголовок отправляется без нашего участия. Еще раз спасибо
Dolce
22 августа 2018, 21:51
0
Нашел на форуме, вот так вот получилось сделать:
<?php

$query = $this->modx->newQuery('msProduct');
$query->setClassAlias('Product');
$query->leftJoin('msProductData','Data', '`Product`.`id` = `Data`.`id`');
$query->select($this->modx->getSelectColumns('msProduct','Product',''));
$query->select($this->modx->getSelectColumns('msProductData','Data','data.'));

$query->where(array(
            '`Data`.`article`:IN' => [5100349, 5160016],
        ));
$query->sortby("pagetitle", "ASC");
$query->prepare();
$query->stmt->execute();
$rows = $query->stmt->fetchAll(PDO::FETCH_ASSOC);

foreach($rows as $row){
  $id = $row['id'];
  echo $id . "
";
}
Dolce
13 августа 2018, 17:23
0
Вынес шаблон в чанк и сделал так
$product__values = [
                'product__id' => $product__id
                ,'product__availability' => $product__availability
                ,'product__url' => $product__url
                ,'product__price' => $product__id
                ,'product__parent' => $product__parent
                ,'product__name' => $product__name
            ];

$product__tpl = $modx->parseChunk($product__tplXML, $product__values);
Dolce
20 июля 2018, 20:16
0
Благодарю, действительно, я искал в настройках сниппета, совсем забыл о глобальных настройках!
Dolce
22 июня 2018, 09:47
0
Разобрался
Был закомментирован кусок, но еще и взят в скобки, как сниппет:
[[.....]]
Сайт сам не делал, клиент пришел с ним. Так что я постоянно открываю для себя что-то новое на нем=)
А вот почему ошибки генерировались не понятно, судя по аналитиксу никто не ходил по сайту. Ну возможно просто аналитикс уже не всех видит и на самом деле все же по сайту лазят
Dolce
06 июня 2018, 13:18
0
Благодарю! Воспользовался Вашим вариантом
Dolce
05 июня 2018, 17:02
0
Я попробовал через консоль, на конкретном ресурсе
$resource =  $modx->getObject('modResource',array(   
      'id' => 1699
  ));

$co = $modx->getCount('modResource', array('pagetitle' => $resource->get('pagetitle'), 'parent' => $resource->get('parent')));

echo $co;

if($co > 1){
 	$resource->set('createdon', time(now));
 	$resource->save();
    
 }
1699 — это ID копии;
В $co лежит 2, то есть условие срабатывает
Ругается на time(now)
[2018-06-05 17:01:58] (WARN @ /home/s6828/www/core/components/console/processors/exec.class.php(24): eval()'d code: 12)
PHP notice: Use of undefined constant now — assumed 'now'
Dolce
05 июня 2018, 16:36
0
Спасибо за ответ. Но не работает. Возможно просто у копированного ресурса, его pagetitle еще не в базе, пока его не сохранишь?
Dolce
23 мая 2018, 20:03
0
Спасибо, буду пробовать с модальным окном