Александр Наумов
С нами с 15 декабря 2012; Место в рейтинге пользователей: #105JSON документ на MODX?
Приветствую сообщество!
Использовал api.geonames.org (сайт с геоданными), решил перевести свой сайт на https, но вот их сайт не поддерживает https, пришлось отказаться от его API, скачать базу и сделать чтобы MODX отдавал json файл.
Для этого я сделал: в настройках документа "Тип содержимого: JSON", массив пропускаю через fenom
1. Если раньше получал файл с помощью jQuery.ajax() по JSONP, то теперь данные получить не могу, Chrom инспектор пишет ошибку "Uncaught SyntaxError: Unexpected token". Попробовал подключить другой API с josn данными api.vk.com — получаю без ошибки. Так же если на сайте, который генерирует json файл получать данные по jQuery.ajax() JSON — то тоже без ошибки.
Использовал api.geonames.org (сайт с геоданными), решил перевести свой сайт на https, но вот их сайт не поддерживает https, пришлось отказаться от его API, скачать базу и сделать чтобы MODX отдавал json файл.
Для этого я сделал: в настройках документа "Тип содержимого: JSON", массив пропускаю через fenom
{["timezone" => "$timezone"] | toJSON}
в итоге получилось практически, как хотел, за исключением двух моментов.1. Если раньше получал файл с помощью jQuery.ajax() по JSONP, то теперь данные получить не могу, Chrom инспектор пишет ошибку "Uncaught SyntaxError: Unexpected token". Попробовал подключить другой API с josn данными api.vk.com — получаю без ошибки. Так же если на сайте, который генерирует json файл получать данные по jQuery.ajax() JSON — то тоже без ошибки.
Кэш браузера влияет на работу плагина Minishop2?
Проблема в том, что при очищенном кеше браузера, значение переменной не передается.
Короткое видео: https://www.youtube.com/embed/zNARHAGA0Rk
Тестовый сайт: http://s15513.h10.modhost.pro/
Плагин Minishop2 сделал по инструкции.
Короткое видео: https://www.youtube.com/embed/zNARHAGA0Rk
Тестовый сайт: http://s15513.h10.modhost.pro/
Плагин Minishop2 сделал по инструкции.
<?php
if(!class_exists('msDeliveryInterface')) {
require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/msdeliveryhandler.class.php';
}
class msDeliveryHandlerMsk extends msDeliveryHandler implements msDeliveryInterface{
public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
$freedeliverysumm = 3000;
$cart = $order->ms2->cart->status();
$cart_cost = $cart['total_cost'];
if($cart_cost > $freedeliverysumm){
$this->modx->setPlaceholder('sinastry','Сумма больше 3000');
return $cost;
}else{
$delivery_cost = parent::getCost($order, $delivery, $cost);
$this->modx->setPlaceholder('sinastry','Сумма меньше 3000');
return $delivery_cost;
}
}
}
Не понимаю в чем проблема? Один вопрос за триста.
6 300
Нужен ответ на два вопроса, за каждый ответ 300 рублей вознаграждение.
1. Максимальное количество товара в размере одной единицы?
Есть плагин:
Свое решение напишите сюда, если решение рабочее, то перечислю вознаграждение 300 руб.
2. Скрыть поле в корзине при достижении определенной суммы. Update: Вопрос решен
Есть плагин, сделанный по данной инструкции:
Нужно, сделать, чтобы передавались данные с помощью плейсхолдера, например если вместо
Свое решение напишите сюда, если решение рабочее, то перечислю вознаграждение 300 руб.
С уважением.
1. Максимальное количество товара в размере одной единицы?
Есть плагин:
<?php
if ($modx->event->name = 'msOnBeforeAddToCart' || $modx->event->name = 'msOnBeforeChangeInCart') {
$values = & $modx->event->returnedValues;
if ($values['count'] < 1) {
$values['count'] = 1;
}
}
Который позволяет выбрать только одну единицу из позиции, а нужно сделать, чтобы он выбирал одну единицу среди всех позиций.Свое решение напишите сюда, если решение рабочее, то перечислю вознаграждение 300 руб.
Есть плагин, сделанный по данной инструкции:
if(!class_exists('msDeliveryInterface')) {
require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/msdeliveryhandler.class.php';
}
class msDeliveryHandlerMsk extends msDeliveryHandler implements msDeliveryInterface{
public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
$cart = $order->ms2->cart->status();
$cart_cost = $cart['total_cost'];
if($cart_cost > 3000){
$this->modx->getPlaceholder('style','<style>...</style>'); // Здесь нужно заставить плейсхолдер работать
return $cost;
}else{
return $cost;
}
}
}
Нужно, сделать, чтобы передавались данные с помощью плейсхолдера, например если вместо
$this->modx->getPlaceholder('style','<style>...</style>');
написатьprint'<style>...</style>';
то данные передаются, но вот отправка заказа перестает работать.Свое решение напишите сюда, если решение рабочее, то перечислю вознаграждение 300 руб.
С уважением.
Скрыть поле при достижении определенной суммы.
Задача, при сумме заказа 3000 вывести стили которые скроют одно из полей.
1. Самое простое, что пришло на ум, это в чанке tpl.msOrder сделать:
2. Использовать плагин Minishop2.
1. Самое простое, что пришло на ум, это в чанке tpl.msOrder сделать:
{if $order.cost > 3000}
<style>...</style>
{/if}
Не прокатило.2. Использовать плагин Minishop2.
if(!class_exists('msDeliveryInterface')) {
require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/msdeliveryhandler.class.php';
}
class msDeliveryHandlerMsk extends msDeliveryHandler implements msDeliveryInterface{
public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
$cart = $order->ms2->cart->status();
$cart_cost = $cart['total_cost'];
if($cart_cost > 3000){
$this->modx->getPlaceholder('style','<style>...</style>'); // Здесь нужно заставить плейсхолдер работать
return $cost;
}else{
return $cost;
}
}
}
Подскажите, как сделать, чтобы плейсхолдер передавал данные? Нужно немного доработать msProfile.
6 1 000
Имеется связка miniShop2 + msProfile, оплата настроена со счета покупателя.
Нужно сделать, при оформлении заказа, если у пользователя недостаточно средств на его счете для оплаты покупки ему не показывается предупреждение во всплывающем окошке, а происходит редирект на страницу пополнения счета, где ему предлагается оплатить недостающую сумму.
Например, на странице пополнения счета пишем: «На вашем счете 400 руб, что бы оплатить заказ вам нужно доплатить 600 руб».
Настроен демо сайт, куда нужно внести правки http://s11747.h9.modhost.pro
Нужно сделать, при оформлении заказа, если у пользователя недостаточно средств на его счете для оплаты покупки ему не показывается предупреждение во всплывающем окошке, а происходит редирект на страницу пополнения счета, где ему предлагается оплатить недостающую сумму.
Например, на странице пополнения счета пишем: «На вашем счете 400 руб, что бы оплатить заказ вам нужно доплатить 600 руб».
Настроен демо сайт, куда нужно внести правки http://s11747.h9.modhost.pro
default в pdoPage при Fenom, как?
Здравствуйте уважаемое сообщество!
Подскажите, пожалуйста, как переписать данную конструкцию под Fenom
Подскажите, пожалуйста, как переписать данную конструкцию под Fenom
[[!pdoPage:default=`Ничего не найдено.`?
...
]]
как записать default=`Ничего не найдено.` в{'!pdoPage' | snippet : [
...
]}
Картинка для микроразметки?
Здравствуйте!
Пользуюсь инструкцией: Выбор первых картинок из контента, решил взять ссылку на первую картинку и вывести ее в микроразметку
Думаю, что нужно делать сниппет mainРicture, который из массива возьмет нужную мне ссылку и выводить ее так
Хотел спросить, можно ли средствами MODX не делая сниппет решить проблему?
Пользуюсь инструкцией: Выбор первых картинок из контента, решил взять ссылку на первую картинку и вывести ее в микроразметку
<meta property="og:image" content="">
. Конструкция [[+properties.image]], которая работает через сниппет, здесь [[*properties.image]] — не работает.Думаю, что нужно делать сниппет mainРicture, который из массива возьмет нужную мне ссылку и выводить ее так
<meta property="og:image" content="[[mainРicture]]">
.Хотел спросить, можно ли средствами MODX не делая сниппет решить проблему?
Главная страница новостного сайта?
Здравствуйте, уважаемое сообщество!
Подскажите, как решить задачу.
Решил сделать главную страницу по типу новостной, как у Яндекс новостей.
На главной есть тематические виджеты (Экономика, Спорт, Культура и т. д.) и вверху виджет “Главные новости“.
Задача, нужно сделать так, если новость находится в виджете “Главные новости“, то она исключается из тематического виджета.
Подходящего готового решения в интернете не нашел.
Решил определиться с алгоритмом, мой вариант такой.
Сделать отдельную табличку, куда буду записывать id ресурсов, которые будут попадать в виджет “Главные новости”.
Сделать плагин, который перед сохранением, будет дописывать туда id нового ресурса и один старый удалять.
Подскажите, как решить задачу.
Решил сделать главную страницу по типу новостной, как у Яндекс новостей.
На главной есть тематические виджеты (Экономика, Спорт, Культура и т. д.) и вверху виджет “Главные новости“.
Задача, нужно сделать так, если новость находится в виджете “Главные новости“, то она исключается из тематического виджета.
Подходящего готового решения в интернете не нашел.
Решил определиться с алгоритмом, мой вариант такой.
Сделать отдельную табличку, куда буду записывать id ресурсов, которые будут попадать в виджет “Главные новости”.
Сделать плагин, который перед сохранением, будет дописывать туда id нового ресурса и один старый удалять.
Рейтинги Tickets
20 000
Добра и здравия уважаемое сообщество!
Данное предложение будет интересно тем чьи сайты имеют социальное направление.
Есть идея обдуманная и согласованная с Василием Наумкиным сделать сортировку пользователей по количеству опубликованных постов, по количеству написанных комментариев и по количеству просмотров. Сортировать можно будет за все время, за предыдущие месяцы, текущая сортировка за месяц.
Данный функционал, позволит сайтам с социальной направленностью контролировать действия пользователей, а потом их как-либо поощрять, например значками функционал для которых будет заложен на данном этапе.
Можно предположить, что с помощью данного функционала можно усилить поведенческий фактор.
Данное предложение будет интересно тем чьи сайты имеют социальное направление.
Есть идея обдуманная и согласованная с Василием Наумкиным сделать сортировку пользователей по количеству опубликованных постов, по количеству написанных комментариев и по количеству просмотров. Сортировать можно будет за все время, за предыдущие месяцы, текущая сортировка за месяц.
Данный функционал, позволит сайтам с социальной направленностью контролировать действия пользователей, а потом их как-либо поощрять, например значками функционал для которых будет заложен на данном этапе.
Можно предположить, что с помощью данного функционала можно усилить поведенческий фактор.
Карма
Опишу модель кармы, которую я хотел бы видеть на modx.pro, а так же купил бы если был такой компонент или сделал бы денежный вклад в его разработку.
Карма пользователя создается по принципу:
1. Компонент ежемесячно подсчитывает вклад пользователей по созданию контента. Тикитам и комментарием выставляется вес, а так же к ним применяется добавочный коэффициент, тикетам — за количество просмотра, за добавления в закладки, комментариям — за добавления в закладки.
По итогам месяца формируется топ активных авторов, после чего в карму первой десятки добавляются балы, за первое место — 10 балов, за второе — 9 балов и т. д… Можно так же первую тройку награждать знаками отличия (медальками), вешать их на стену автора.
Так же можно сделать, топ активных комментаторов.
Карма пользователя создается по принципу:
1. Компонент ежемесячно подсчитывает вклад пользователей по созданию контента. Тикитам и комментарием выставляется вес, а так же к ним применяется добавочный коэффициент, тикетам — за количество просмотра, за добавления в закладки, комментариям — за добавления в закладки.
По итогам месяца формируется топ активных авторов, после чего в карму первой десятки добавляются балы, за первое место — 10 балов, за второе — 9 балов и т. д… Можно так же первую тройку награждать знаками отличия (медальками), вешать их на стену автора.
Так же можно сделать, топ активных комментаторов.