Артур Шевченко

Артур Шевченко

Был в сети 56 минут назад
Заказы принимаю
Отправить деньги
Вообще без обид, меня никто не учил как правильно, делаю как могу, против конструктивной критики ничего не имею, поэтому спасибо. И несколько вопросов.
Во первых вызывая сниппет — ты проходишь полный цикл инициализации MODX, тебе нужно отдать очень простые результаты зачем тебе полностью инициализировать modx?
Что значит «полный цикл инициализации MODX» и что в этом страшного, если на странице зачастую вызывается несколько сниппетов?

Зачем вызывать сниппет msProducts? Почему бы не использовать pdoFetch например и не задействовать парсер modx?
Я понимаю, что это, скажем так, неоптимальное решение, но другой вариант это
$pdoTools->getChunk($tpl, $data);
А как без использования парсера? Мне же html нужен, а не сырые данные, или JS'ом вставлять?

А что до названия, ну «Сделай Сам» или «Мой способ реализации бла-бла» так по-моему без разницы, на код это не влияет)))
Что не так с Minioshop2 в этом плане?
С ним всё в порядке, сегодня проверял хостинг Beget, почта менеджера такая же name@domain.ru.от Яндекса. Обычно такое бывает по вине хостера, уточните есть ли ограничения на отправку писем, проверьте какой адрес стоит в emailsender, настройки minishop2 проверьте чтобы отправка была включена у нужного статуса, чтобы в шаблонах не было ошибок, в логах посмотрите, может там ошибки есть.
Вы можете делать что хотите, лишь бы навыков хватило. Вот тут похожей темой интересовался, правда там он спрашивает как вывести заказ. На моём сайте такой функционал реализован, могу скинуть свой код, но позже, пока не у компа. А вот в документации решение этой задачи нет. Вам нужно почитать раздел Разработка компонента minishop2, плюс понимать как с помощью modx api работать с ресурсами, знать какие поля есть у товаров, заказов, как связаны между собой таблицы minishop2. Но это всё не очень сложно, я код скину посмотрите и думаю разберётесь.
Там где получаете ресурс в массив добавьте ещё один элемент с ключом parent вот и будет вам ограничение по родителю. А про tv умоляю вас, забудьте, они не для этого, для программной работы с ресурсами используйте поля описанные в модели их обычно хватает, а tv это для дополнительной информации когда прям без вариантов. В вашем случае лучше писать уникальный id в pagetitle.
Да не нужно вам это TV, выше уже написал почему))
Вот весь код который нужен
foreach($usersMedia['data'] as $media){

$resource=$modx->getObject ('modResource', array('pagetitle'=>$media['title']));
if(!$resource){

//Создаём новый ресурс
    $rss = $modx->newObject('modResource');
    $rss->set('template', 2);                     // Назначаем ему нужный шаблон
    $rss->set('isfolder', 1);                         // Указываем, что это не контейнер   
    $rss->set('published', 1);                      // Неопубликован
    $rss->set('createdon', time());              // Время создания
    $rss->set('pagetitle', $media['title']);               // Заголовок
    $rss->set('content', $media['caption']);               // Контент
    $rss->set('alias', strtolower($media['username'].'-'.$media['id']));    // Псевдоним
    $rss->set('parent', 2);                 // Родительский ресурс
    $rss->save(); 
////

}
}
Если так хочется использовать уникальный id, то записывайте его в pagetitle, поскольку это поле должно быть уникальным, как я уже говорил и делайте проверку, о которой я уже писал, не усложняйте. Я понимаю, что сейчас это не работает, но нужно искать ошибку, а не усложнять решение.