Вадим

Вадим

С нами с 09 января 2021; Место в рейтинге пользователей: #4129
Вадим
07 февраля 2021, 02:35
0
Событие срабатывает всякий раз когда выбирается хоть что нибудь.
Вадим
07 февраля 2021, 02:01
0
returnedValues — возвращает новые значения, а вот как их получить…
Вадим
07 февраля 2021, 02:01
0
Объясните кто знает как в плагине получить value input? Нигде не нашел
Вадим
07 февраля 2021, 01:18
0
Спасибо за помощь. Поспрашиваю еще на форумах, пока никак не выходит
Вадим
07 февраля 2021, 00:46
0
Да я так пробовал. В моем понимании это должно работать так:
$values = & $modx->event->returnedValues;
	$values['price'] = $_POST['price']
Вадим
07 февраля 2021, 00:14
0
Не так выразился, не получается. Принцип работы сниппета и плагина понятен. Но это никак не могу понять. Может сначала надо записать значение кудато, а потом вытаскивать его в плагине? Не могу понять как это работает
Вадим
06 февраля 2021, 23:56
0
Разбираю плагин бронирования UserEvents. Там есть событие UserEventsOnBeforeGetOrderCost.
$rid = $modx->getOption("resource", $data);

        $cost = 0;
        // расчет стоимости согласно своей логике
        if ($resource = $modx->getObject("modResource", $rid)) {
           
            $cost = $resource->getTVValue('price') ;
        }
        
        $add_cost = 0;
        $pricenew = $_POST["price"];
     
        $add_cost +=  $pricenew;
            
        
        
        $cost += $add_cost;
        $values["cost"] = $pricenew;
Рассчет цены. У меня допустим своя логика калькулятора. После всех пересчетов, результат попадает в value.
<input type="hidden" name="resource" id="resource" value="{$resource}">
		<input type="hidden" name="date" id="date" value="0">
		<input type="hidden" name="time" id="time" value="0">
		<input type="hidden" name="price" id="price" value="10">
. Через POST не получается получить значение поля 'price'
Вадим
06 февраля 2021, 23:46
0
Спасибо за ответ, но так я могу получить в сниппете. А вот как получить в плагине? КАК ОБРАТИТЬСЯ К ПЛАГИНУ?
Вадим
11 января 2021, 13:34
0
Да что я делаю не так? Не могу понять. Вот сниппет:
<?php
$string=null;
if($_POST['id']){
    $string.='tip_korpus=='.$_POST['id'].'';
}

$string=substr($string,0,-1);
echo $string;
Вот код со страницы к которой я обращаюсь по ajax
[[!msProducts?
            &tpl=`msProduct`
            &limit=`12`
            &includeTVs=`crop, tip_korpus`
            &includeThumbs=`740x560,740x`
            &parents=`0`
            &depth=`0`
            &tvFilters=`[[!GetAjax?id='key']]`
        ]]
Ничего не выводит, если просто оставить:
[[!GetAjax?id='key']]
, то значение есть
Вадим
09 января 2021, 01:49
0
Спасибо за ответ, я думал об этом, но никак не могу понять, как мне пердать в сниппет get. Есть у меня побор на jquery, обработчик на php, и вот как этот последний запрос отправить в сниппет, который вызывается ну допустим в popup окне. Если откроете глаза, буду благодарен
Вадим
09 января 2021, 01:37
0
<?php
$key = 'TIP_COPUS'; // имя опции товара
$category = 0; // фильтрация по категории
$param1 = $_GET['corpus'];

$q = $modx->newQuery('msProductOption');
$q->innerJoin('msProduct', 'msProduct', 'msProduct.id=msProductOption.product_id');
$q->where(array('msProductOption.key' => $key, 'msProductOption.value'=> $param1));
$q->sortby('msProductOption.value','ASC');
$q->select('DISTINCT(msProductOption.value), msProduct.id');
$q->where(array('msProductOption.key' => $key));
if (!empty($category)) {
    $ids = $modx->getChildIds($category);
    $ids[] = $category;
    $q->innerJoin('msCategory', 'msCategory', 'msCategory.id=msProduct.parent');
    $q->where(array('msCategory.id:IN' => $ids));
}
$result = array();
if ($q->prepare() && $q->stmt->execute()) {
    while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
        $res['id'][] = $row['id'];
    }
    $result = implode(",", array_unique($res['id'])) ;

}
$output=' ';
$products= $modx->getCollection('msProduct', $result);
 
foreach ($products as $k => $product) { 
    $title = $product->get('pagetitle');
}
$output = $modx->getChunk('ProductPodbor', title));
return $output;