Dolce

Dolce

С нами с 30 июня 2016; Место в рейтинге пользователей: #143

Запрос к свойству товара и опции

Здравствуйте. Нужно взять значение поля из свойств товара msProduct и записать его в поле опций этого же товара товара, то есть, если бы это были TV, я бы написал так:
$docs = $modx->getCollection('modResource', array('parent:IN' => [1,2,3]));

foreach($docs as $doc){
    $value1 = $doc->getTVvalue('pagetitle');
    $doc->setTVvalue('new-fields', $value1);
    $doc->save();

};
А как получить доступ к свойствам и опциям msProduct?
Dolce
24 ноября 2018, 15:35
modx.pro
683
0

msearch2 - вывод свойств товара

Здравствуйте. Наверное, напишу глупость, но не могу понять, как сделать так, чтобы в результатах поиска выводились свойства minishop товаров.
Что бы в шаблон попадали определенные ТВ, у сниппета есть параметр &includeTVs=``
Допустим у товара есть свойство arcticle. В шаблоне для поиска выводится вот так, как и в категориях сайта:
<div class="kod">Код товара: [[+article]]</div>
Но в категориях артикл выводится, а на странице поиска нет, в категориях выводится через mFilter2 правда. А на странице поиска вот так:
[[!pdoPage?
                    &element=`mSearch2`
                    &parents=`3`
                    &tpl=`tpl.product`
                    &includeTVs=`alt_pagetitle`                    
                    &tvPrefix=`tv 
]]
Так же в шаблоне есть плейсхолдер для картинки
<img src="[[+thumb]]" alt="[[+pagetitle]]" />
Он так же не выводится поиском. Подскажите пожалуйста, что я делаю не так?
Dolce
19 ноября 2018, 14:14
modx.pro
1 686
0

Проверка AJAX запроса через "HTTP_X_REQUESTED_WITH"

Здравствуйте, осваиваю работу с AJAX. В мануалах встречаю, что в начале нужно(желательно) проверить является ли запрос AJAX, если нет, то return
if (empty($_SERVER['HTTP_X_REQUESTED_WITH']) || $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;}
У меня почему-то не получается пройти эту проверку и я попадаю в условие. Вот js:
Dolce
29 октября 2018, 11:54
modx.pro
3 303
0

Закрепить одну или несколько фото за msProduct

Здравствуйте. Я импортирую товары на сайт через msImportExport. После чего мне необходимо к импортированным ресурсам добавить фото, количество фото – от 1-го до 3-х.
Товары у меня импортируются по Артикулу позиции, фотографии к этим товарам лежат в папках с именем по артикулу(потому как в момент формирования файла для импорта еще нет ID ресурса, потому как нет никаких ресурсов).
Когда файл залит на сайт, теперь есть ресурсы, есть ID. После чего я заливаю папки с фото (имена папок – артикул позиции) в assets\images\products\.Но в этом каталоге имена папок должны быть Id-шниками ресурсов, я пробегаюсь скриптом по папкам-артикулам и переименовываю их в папки по id ресурса.
Но теперь к самим ресурсам необходимо закрепить фото. Подскажите пожалуйста, как это можно сделать. У меня есть массив в котором лежит путь и имя файла, для каждого файла, как это дело можно записать, что бы файлы закрепились за позицией вот тут

Dolce
26 октября 2018, 16:02
modx.pro
788
0

Получение msProduct по article

Подскажите пожалуйста, необходимо получить выборку ресурсов minishop по стандартному article. Пробую как-то так, но не получается:

<?php

if ($data = $modx->getObject('msProductData', array('article:IN' => [28039, 28040]))) {
    
    foreach ($data as $item) {
		$pagetitle = $item->get('pagetitle');
	    echo $pagetitle;
		
	}    
   
}
Подскажите как правильно это сделать?
Dolce
22 августа 2018, 19:24
modx.pro
1
4 014
0

Парсинг шаблона в переменной, в цикле

Здравствуйте. Подскажите пожалуйста, есть такая задача:
Нужно пройтись по товарам магазина и забрать с них определенные поля, после чего записать их в свой шаблон XML а потом в файл. Можно сделать так, бегать в цикле и писать значения куда нужно:
foreach ($product__list as $product__item) {	
			// Выборка необходимых свойств
			$product__title = $product__item->get('pagetitle'); // Имя товара
			$product__id = $product__item->get('id'); // id товара
			$product__availability = $product__item->getTVvalue($product__tvInstock);
			$product__url = $modx->makeUrl($product__id, "", "", "full");
			// смотрим значение переменной и присваиваем TRUE или FALSE
			($product__availability == $product__statusOn) ? TRUE : FALSE; 

			$data__body .= "<offer id='$product__id' available='$product__availability'>\n"; // Начало товара

			$data__body .= "<url>$product__url</url>\n";
			$data__body .= "<name>$product__url</name>\n";

			$data__body .= "</offer>\n";	// Конец товара		
			
}
Но хотелось бы сам шаблон вынести из цикла, вверх по коду, к настройкам, что бы работать с ним отдельно, а в цикл его передавать на заполнение полей, то есть как-то так
Dolce
11 августа 2018, 17:10
modx.pro
856
0

Tickets - стандартные стили, скрипты

Здравствуйте, Tickets по умолчанию загружает свои стили:

<link rel="stylesheet" href="/assets/components/tickets/css/web/default.css" type="text/css">
Подскажите, а как можно это отключить? В настройках компонента не нашел такую опцию
Dolce
20 июля 2018, 15:21
modx.pro
1 004
0

Ошибки в логах - Could not find snippet with name

Здравствуйте. Дико спамит ошибка в логи
[2018-06-21 20:40:39] (ERROR @ /home/s10030/www/core/model/modx/modparser.class.php : 540) Could not find snippet with name <!-- <ul class="soc">
<li><a href="#">inst</a></li>
Нагуглил что такое появляется после обновление до версии modx 2.6, но я обновился уже до 2.6.4 — ошибка не пропала. При то, что зачастую в консоль летит ошибка, после того как посетишь страницу, на которой вызывается сниппет в котором есть ошибка, а в моем случае ошибка просто генерируется без посещения страниц, я просто сижу в админке, обновляю лог и вижу как эти ошибки текут рекой, при том по сайту никто не лазит.
Подскажите пожалуйста куда копать? Сегодня удалил лог размером в 4гб из-за этой ошибки
Dolce
21 июня 2018, 17:50
modx.pro
5 328
0

Последние добавленные ресурсы – при копировании ресурса

Здравствуйте. На сайте есть выборка ресурсов по дате их создание – то есть на выходе мы получаем последние добавленные товары.
Это работает если каждый раз создавать новый ресурс. Но, наполнять сайт куда удобнее копированием ресурса, потому что многие поля практически не приходится редактировать, в моем случае, это быстрее в несколько раз. Но в таком случае, у ресурса копируется и дата его создания, и ресурс не выводится как новый. В таблице site_content нет поля, которое бы фиксировала временную метку, когда ресурс был скопирован. Есть метка, когда ресурс редактировался, но она не подходит, потому что ресурсы редактируются часто, но при этом новыми они не становятся. Подскажите пожалуйста, как быть? Может кто-то уже решал подобную задачу?
Dolce
05 июня 2018, 10:39
modx.pro
1 570
0

Заказ в один клик - без компонента интерне-магазина

Здравствуйте, Подскажите пожалуйста, как можно реализовать:
1) Есть категория с товарами, у товаров есть кнопка, которая открывает iframe(отдельная страница), в этом фрейме вызов formit, форма отправляет письмо на почту с именем и телефоном, которые введет клиент. Но в эту форму так же нужно передать pagetitle товара, на котором была нажата кнопка, хорошо бы еще и значение TV передать
2) Так же есть страница — карточка товара, с такой же кнопкой, тут уже нужно передать id текущей страницы, на страницу с формой(в iframe)

Думаю для этих целей воспользоваться сессиями. Может кто-нибудь сможет подсказать как это правильнее сделать.
Dolce
23 мая 2018, 15:04
modx.pro
949
0