Дмитрий

Дмитрий

С нами с 16 декабря 2015; Место в рейтинге пользователей: #47

запустить pdoPage с WHERE через AJAX

Здравствуйте!
Пытаюсь сделать вот такую штуку:

И нужно через AJAX фильтровать новости по годам.
Никак не получается сделать так, чтобы при загрузке ресурсов по выбранному году работала и пагинация.
Не могу сообразить, в каком порядке и что нужно запускать, чтобы сделать это.
Дмитрий
02 февраля 2017, 13:38
modx.pro
762
0

Убрать TV из под поля Introtext

Здравствуйте!
Возможно, спрашиваю полную глупость, но впервые сталкиваюсь с такой фигней.
Взял доделывать проект, который бросили другие фрилансеры. Так вот. В разделе отзывов TV поля (см.скриншот) находятся почему под полем аннотации. Как они там оказались — я не знаю. В настройках ничего не нашел, плагинов никаких нет, дополнений, которые могут на это влиять, вроде никаких не установлено. Но самое смешное то, что больше никакие TV, кроме этих трех, больше к ресурсу не прикрепляются. В шаблоне их можно указать, но для страницы они не выводятся и нельзя добавить другую информацию. Переделывать все не очень хочется, ибо около 120 ресурсов все-таки…
Дмитрий
23 января 2017, 14:14
modx.pro
1
1 290
0

Отправить контент ресурса на почту

Здравствуйте!
Возникла необходимость отсылать некоторые статьи с сайта пользователям на почту. Сделал хук для FormIt:
<?php
/*Активируем почтовый сервис MODX*/
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_FROM, $modx->getOption('admin@sitename.ru'));
$modx->mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name'));

//тема письма
$subject = 'Test Subj';

/*Адрес получателя нашего письма получаем из заполненной формы*/
$email = $hook->getValue('email');
$articleID = $hook->getValue('article');
$page = $modx->getObject('modResource',$articleID);
$content = $page->get('content');
$modx->mail->address('to', $email);

$placeholder = array(
    'content' => $content
    );

/*Заголовок сообщения*/
$modx->mail->set(modMail::MAIL_SUBJECT, $subject);

$modx->mail->set(modMail::MAIL_BODY,$modx->getChunk('mailExample',$placeholder));

/*Отправляем*/
$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
    $modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
}
$modx->mail->reset();
Подключил хук в FormIt, все работает, все отправляется. Только на почту контент приходит в каком-то странном виде (в приложении). При том, сам контент всего лишь обрамленный в «p» абзац текста, без всяких переносов и всего такого. Подозреваю, что перед отправкой его надо как-то форматировать, да что-то не могу найти информацию по этому.
Дмитрий
17 января 2017, 09:49
modx.pro
1 408
0

Странная работа загрузки изображений с фронта

Всем привет!
После обновления minishop2 до 2.4.7 с версии 2.2 и Tickets до 1.7 c 1.6 на моем проекте творится какая-то дичь с загрузкой изображений с фронта.
Суть в чем.
Я использую ms2form для создания товаров с фронта, и после обновления MS2 и Tickets при загрузке фото товара все изображения сохраняются в папку с id 207, хотя загружаемый товар носит ID уже гораздо больше чем 207.

Получается, что все фотографии загружаются в папку с 207-ым товаром, и при сохранении товара ms2form не может оттуда достать файл и сохранить его куда надо, происходит ошибка и мы получаем товар без фотографии.

Как известно, ms2form сохраняет фотографии заранее, перед сохранением товара в какой-то другой папке, кажется в папке под названием 0. Почему это вдруг он стал сохранять в папку «207»???
Дмитрий
09 января 2017, 11:25
modx.pro
1 001
0

Странное поведение словарей

Здравствуйте!
Очень странно ведут себя словари на сайте — выборочно отваливаются некоторые записи с такими ошибками
Language string not found: "phpthumbon.folder"
 Language string not found: "full (absolute, prepended with site_url)"
Language string not found: "ms2_frontend_currency"
и еще несколько строк
То есть, часть записей minishop2 работает, часть — не работает, часть записей прочих компонентов работает, часть — не работает.
При этом все записи в словарях существуют!
То есть, вот например ругается на Language string not found: «phpthumbon.folder»
Но эта запись есть во всех языках сайта!
Кто-нибудь сталкивался с подобной проблемой?
Дмитрий
30 декабря 2016, 11:17
modx.pro
976
0

Верстка + внедрение одной страницы

6 4 500
Здравствуйте!
Нужно сверстать контент в формате лэндинга на одной страничке.
Сайт на MODX 2.5, используется Fenom и файловые элементы. 99% чанков, сниппетов, шаблонов в файлах.
Нужна добротная верстка (не адаптив) + внедрение на систему.
Кто умеет этим пользоваться — жду ответа.
Пишите в скайп — zahod5-2-7-7
Дмитрий
17 ноября 2016, 07:59
modx.pro
814
0

Вызов через AJAX pdoPage c включенным ajax mode

Здравствуйте!
Мастерю небольшой магазинчик, в котором 8 категорий и не так много товаров, и заказчик захотел, чтобы вся работа с товарами была на одной странице, то есть есть список категорий, при клике на категорию происходит ajax запрос с id категории, сниппет запускает msProducts из нужной категории и все работает хорошо. Однако, если обернуть вызов в pdoPage с включенным ajax-mode, то ответ приходит пустой. При этом, если ajax-mode отключен, то данные приходят. Я подозреваю, что все дело в том, что я вызываю через AJAX сниппет с AJAX, и он ничего не понимает, что делать, как и я :(
Обращение к сниппету на JS делаю так:
<script>
    var trigger = $(this).data('trigger');
    var action = $(this).data('action');
   var resultHTML = '#products';
$.post('ajax.php', {
        trigger: trigger,
        action: action
    }, function(data) {
        $(resultHTML).html(data);
    });
</script>
Сниппет ajax.php (все стандартно, по заметке Василия):

<?php
define('MODX_API_MODE', true);
require 'index.php';
$pdo = $modx->getService('pdoTools');
if (empty($_SERVER['HTTP_X_REQUESTED_WITH']) || $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {
    return;
}

if (empty($_POST['trigger'])) {
    return;
}
$res = '';
    switch ($_POST['trigger']) {
        case 'cancel-category':
            $res = $pdo->runSnippet('pdoPage',array(
            'element' => 'msProducts',
            'limit' => '20',
            'where' => '{"Data.popular":"1"}',
            'tpl' => '@FILE:chunks/category/products_row.tpl',
            'ajaxMode' => 'default',
            'ajaxTplMore' => '@INLINE <button class="btn btn-warning btn-more">Загрузить еще</button>'
            ));
            break;
    }
if (!empty($res)) {
    die($res);
}
Дмитрий
01 октября 2016, 13:52
modx.pro
1 614
0

minishop2, PayPal, вывод средств и все такое...

Здравствуйте!
Помогите, пожалуйста. прояснить ситуацию с использованием PayPal в minishop2, да и вообще в целом.
Я делаю проект, в котором подразумевается продажа товаров в Европу, соответственно, в евро валюте. Я никогда не работал с PayPal и вообще слабо представляю себе всю эту систему. По ходу работы возникли вопросы:
  • Компонент оплаты через PayPal, встроенный в minishop2, абсолютно рабочий, и можно совершать покупки в евро и долларах? (я, конечно, не сомневаюсь, но вот просто на всякий случай :) )
  • В параметрах этого модуля есть такие поля как «пароль продавца», «подпись продавца», «логин продавца». Я так понимаю, эти данные нужно заполнить, чтобы на этот счет приходили деньги?
  • Какой тип аккаунта на PayPal лучше выбрать: корпоративный или персональный? Кто-нибудь сталкивался с этим? У заказчика (владельца сайта, я имею в виду) есть счет на PayPal, но он не знает, что будет лучше.
Заранее благодарю за ответы.
Дмитрий
09 сентября 2016, 16:47
modx.pro
2 273
0

Получение контента с Fenom через сниппет

Доброго времени суток!
Пытаюсь освоить файловые элементы через pdoTools и Fenom, и не могу решить следующую проблему:
Сделал сниппет по методу, который через AJAX запрашивает содержимое другой страницы:
<?php
// Откликаться будет ТОЛЬКО на ajax запросы
if (empty($_SERVER['HTTP_X_REQUESTED_WITH']) || $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {
    return;
}
if (empty($_POST['page'])) {
    return;
}
$page = $_POST['page'];
if ($res = $modx->getObject('modResource',$page)) {
    $output = $res->getContent;
}
if (!empty($output)) {
    die($output);
}
Содержимое страницы, к которой обращаюсь:
{include 'file:chunks/ajax-page.tpl'}
Если открывать страницу по прямому адресу, то чанк выводится и все замечательно.
Но через AJAX вместо обработанного чанка выводится просто
{include 'file:chunks/ajax-page.tpl'}
. Я догадываюсь, это связано с тем, что парсер MODX не понимает Fenom, и это нужно делать через pdoTools, перерыл весь сайт, но не нашел подходящего метода.
Дмитрий
18 августа 2016, 21:55
modx.pro
2 132
0

minishop2 + Tickets, рейтинг товаров

Здравствуйте!
Пытаюсь сделать сайт, на котором определенная группа пользователей может размещать свои товары. Заметил, что в Tickets можно плюсовать/минусовать каждый пост, и от этого складывается рейтинг пользователя. Возможно ли подружить minishop2 и Tickets таким образом, чтобы каждый пользователь мог зайти на страничку товара и плюсануть/минусануть ее и от этого автор получал рейтинг?

Ларчик просто открывался.
Надо было внимательнее почитать документацию к Tickets. В составе этого компонента идет сниппет TicketsMeta, который выводит мета-инфу и форму голосования для ЛЮБОГО РЕСУРСА MODX.
Дмитрий
16 августа 2016, 14:03
modx.pro
1 758
0