скрыть блок после даты публикации документа
Modx Revolution. Есть лента событий с календарем eventsCalendar2, каждое событие — отдельный документ, дата его в календаре — дата публикации publishedon. У этого события есть форма заявки (FormIt).
Как сделать так, чтобы форма заявки скрывалась на странице вывода события при наступлении даты публикации? Ну и вместо неё вывести другой блок с текстом типа «Прием заявок окончен».
Подозреваю, что можно это сделать на js — я хоть и не пишу на нем, сообразить смогу и найти примеры подобного поведения, но как мне обратиться к дате публикации документа modx?
Как сделать так, чтобы форма заявки скрывалась на странице вывода события при наступлении даты публикации? Ну и вместо неё вывести другой блок с текстом типа «Прием заявок окончен».
Подозреваю, что можно это сделать на js — я хоть и не пишу на нем, сообразить смогу и найти примеры подобного поведения, но как мне обратиться к дате публикации документа modx?
Вывод msGallery из другого контекста
Подскажите как грамотно вывести содержимое msGallery из другого контекста? То есть необходимо в испаноязычном контексте выводить msGallery из русского контекста.
Tickets
у меня в логах пишет вот это!
[2015-02-20 13:23:03] (ERROR @ /connectors/index.php) Could not load class: TicketsSection from mysql.ticketssection.
как это убрать ?? есть идеии
и еще когда я создаю права на пользователей и манагеров
происходит фигня какая то вообщем под этим паролем который я задаю он тупо не пускает и в логах ни чего не пишет
[2015-02-20 13:23:03] (ERROR @ /connectors/index.php) Could not load class: TicketsSection from mysql.ticketssection.
как это убрать ?? есть идеии
и еще когда я создаю права на пользователей и манагеров
происходит фигня какая то вообщем под этим паролем который я задаю он тупо не пускает и в логах ни чего не пишет
Последовательное соединение(innerJoin) таблиц
Подскажите пожалуйста, как сделать объединение 4 таблиц связанных с друг другом последовательно.
Буду очень благодарен за помощь.
$c = $modx->newQuery('newEraObj');
$c->innerJoin('newEraM', 'newEraM');
$c->innerJoin('newEraDtObj', 'newEraDtObj');
$c->innerJoin('newEraDtData', 'newEraDtData', 'id_dt_obj = id_dt_data');
$c->where(array(
'newEraM.id:IN' => $_POST['m_dostup']
));
$c->select('newEraM.id, newEraM.name AS m_name, newEraObj.id AS id_obj, newEraObj.id_m, newEraObj.name AS obj_name, newEraDtObj.id_obj AS id_dt_obj, newEraDtObj.name AS dt_obj_name, newEraDtData.id AS id_dt_data, newEraDtData.id_obj');
$objects = $modx->getCollection('newEraObj', $c);
Работать отказывается.- У меня есть newEraM которая composite по id к newEraObj id_m.
- newEraObj id composite -> newEraDtObj id_obj
- newEraDtObj id composite -> newEraDtData id_obj
Буду очень благодарен за помощь.
Вызов сниппета в условии
Здравствуйте! Столкнулся с такой небольшой проблемой, как можно вызвать сниппет в условии if else?
Пример:
Пример:
[[*isfolder:is=`1`:then=`
[[!pdoMenu?
&level=`2`
&outerClass = `side-menu`
&parents=`[[*id]]`
&where=``
&tplParentRow=`@INLINE <li[[+classes]]><h3 [[+attributes]]>[[+menutitle]]</h3>[[+wrapper]]</li>`
]]`:else=`
[[pdoResources?
&parents=`52`
&depth=`0`
&tpl=`tpl.SideNews`
]]
`]]
Работа с удаленным сервером mysql
Доброго времени суток!
Вот код подключения к удаленной бд
Все здорово подключается! SELECT отрабатывает и выдает 753 записи(в бд столько же), все ок
Но вот пытаюсь работать так:
Fatal error: Call to a member function get() on a non-object in
Сниппет вызывается на странице сайта.
Что-то еще нужно подключить или подковырять?
Аль все так на чистом MySQL работать придется?
Вот код подключения к удаленной бд
<?php
ini_set("display_errors",1);
error_reporting(E_ALL);
// Задаем подключения к сторонней базе данных:
$host = 'text'; // — хост.
$username = 'text'; // — имя пользователя.
$password = 'text'; // — пароль пользователя.
$databasename = 'text'; // — имя базы данных.
$port = 3306; // — номер порта.
$charset = 'utf-8'; // — кодировка.
// Соединяемся с базой данных:
$dsn = "mysql:host=$host;dbname=$databasename;port=$port;charset=$charset";
$xpdo = new xPDO($dsn, $username, $password);
// Проверяем успешность подключения:
echo $o = ($xpdo->connect()) ? 'Подключились…' : 'Не удалось подключиться!';
$results = $xpdo->query("SELECT * FROM modx_po_site_content");
$kolichestvo_zapisei = $results->rowCount();
echo 'Обнаружено записей: '. $kolichestvo_zapisei;
Все здорово подключается! SELECT отрабатывает и выдает 753 записи(в бд столько же), все ок
Но вот пытаюсь работать так:
$res = $xpdo->getObject('modResource',1);
$output = $res->get('pagetitle');
return $output;
ошибкаFatal error: Call to a member function get() on a non-object in
Сниппет вызывается на странице сайта.
Что-то еще нужно подключить или подковырять?
Аль все так на чистом MySQL работать придется?
Компонент MODX Tickets
Доброго времени суток! Работаю над сайтом, где используется компонент Tickets. Читал документацию по нему тут: modstore.pro/packages/users/tickets и все же не понял, как можно вывести конкретный тикет полным перечнем его информации и плюс вся ветка комментариев пользователей для данной статьи?
Сделал пока так. Вызов общего каталога тикетов (статей):
Сделал пока так. Вызов общего каталога тикетов (статей):
[[!pdoPage?
&element=`getTickets`
&includeTVs=`type_article`
&limit=`4`
&tvPrefix=`tv.`
&showHidden=`1`
&parents=`2`
]]
Все тикеты прикреплены к другому шаблону и в чанке, выводятся в простейшем виде<div class="details">
<span class="icon-image">[[*date_ago]]</span>
<h1 class="title">[[*pagetitle]]</h1>
<p>[[*content]]</p>
Автор: [[*createrby]]
</div>
Работает только [[*pagetitle]], [[*content]]. Поля [[*date_age]], [[*createby]] не работают. Также не ясно, как выводить комментарии конкретной статьи. Иконка на кнопке добавить в корзину Minishop 2
Здравствуйте, как поменять иконку на кнопке добавить в корзину Minishop 2
Вывод новостей начинающиеся с букв/цифр и т.п
Пример:
site.ru/catalog/А
site.ru/catalog/Б
site.ru/catalog/В
Оптовые цены свыше 10 000руб.
Добрый день, необходимо реализовать функционал, когда товаров в корзине на сумму больше 10 000руб., начинаются учитываться оптовые цены товаров. В PHP не силён, нашёл такой пример, там есть вариант плагина, пробовал его адаптировать под себя, не получилось:
Кто подскажет, что делаю не так?
И хотелось бы динамическое обновление цен, в данном случае должно обновляться с перезагрузкой.
<?php
switch ($modx->event->name) {
case 'msOnChangeInCart': case 'msOnAddToCart': case 'msOnRemoveFromCart':
$miniShop2 = $modx->getService('minishop2','miniShop2',
MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties);
if (!($miniShop2 instanceof miniShop2)) return '';
// Инициализируем класс в текущий контекст
$miniShop2->initialize($modx->context->key, $scriptProperties);
$total_cost = $miniShop2->cart->status()['total_cost'];
$tmp = $miniShop2->cart->get();
if ($total_cost > 10000) { // если 10000руб и более – оптовые цены, в интернет-магазине оптовые цены забиваются в поле old_price
foreach ($tmp as $key1 => $value) {
if ($product = $modx->getObject('msProduct', $value['id'])) {
$realPrice = $product->get('price');
$optPrice = $product->get('old_price'); // вместо old_price можно указать любое другое поле товара
$tmp[$key1]['price'] = $optPrice;
}
}
}
else {
foreach ($tmp as $key1 => $value) {
if ($product = $modx->getObject('msProduct', $value['id'])) {
$realPrice = $product->get('price');
$tmp[$key1]['price'] = $realPrice;
}
}
}
$miniShop2->cart->set($tmp);
break;
}
Кто подскажет, что делаю не так?
И хотелось бы динамическое обновление цен, в данном случае должно обновляться с перезагрузкой.