Андрей

Андрей

С нами с 09 апреля 2015; Место в рейтинге пользователей: #68
Владимир
04 апреля 2018, 19:34
1
0
1) HTTPS — не проблема, сейчас все сайты по-умолчанию на этом протоколе делаем.
2) Этот набор браузеров тоже устраивает.

В плане публичной части я, кстати, рассматривал пару примеров реализации вполне неплохих, которые я смогу сам доделать на jQuery:
webaudiodemos.appspot.com/AudioRecorder/index.html
subinsb.com/html5-record-mic-voice/

А вот что касается серверной стороны — я плохо знаю PHP, поэтому написать кастомный сниппет, который будет уже складывать эти отзывы в каком либо виде, мне будет трудновато.
Так что, может вы сможете помочь, когда дойдет дело до этого, небезвозмездно?
Сами отзывы скорее всего выполню в виде ресурсов. Ну либо какое-то «более лучшее» решение найдется. :)
Руслан Касимов
28 марта 2018, 20:01
2
0
Спасибо) Шрифт Montserrat
Михаил
05 марта 2018, 19:34
2
+1
<?php
switch ($modx->event->name) {
    // События на добавление товара
    case 'msOnBeforeAddToCart':  // получает $product, $count, $options и $cart
$new_price = $product->get('price') * $product->get('weight');
$product->set('price', $new_price);

break; 

}
Viktor
20 февраля 2018, 20:27
1
+1
Для jGrowl решил вот так:
<script>
    $(document).ready(function(){
        $.jGrowl.defaults.beforeOpen = 
            function(message) {
                if ($(message).find('.jGrowl-message').text() == 'g-recaptcha-response: Это поле обязательно.') {
                    $(message).find('.jGrowl-message').text('Подтвердите, что вы не робот.');
                };
        };
    });
</script>
Володя
19 февраля 2018, 13:44
1
+1
пример плагина для расчета стоимости userevents.vgrish.ru/manager/?a=element/plugin/update&id=7
Добавить проверку на время
case "UserEventsOnBeforeGetOrderCost":
        /** @var UserEventsOrderInterface $orderHandler */
        $orderHandler = $modx->getOption("order", $scriptProperties);
        if (!$orderHandler OR !($orderHandler instanceof UserEventsOrderInterface)) {
            return;
        }
        $values = $modx->Event->returnedValues;
        $data = $orderHandler->get();
     
        $rid = $modx->getOption("resource", $data);

        $cost = 0;
        // расчет стоимости согласно своей логике
        if ($resource = $modx->getObject("modResource", $rid)) {
            $cost = $resource->get("id") * 100;
        }
        
        $add_cost = 0;

	// проверка на вечернее время
        $time = isset($data['time']) ? $data['time'] : '';
        if ($time) {
            $time = array_map('floatval', explode(',', $time));
            if ($time[0] >= 19) {
                $add_cost += $cost / 100 * 30;
            }
        }
        
        $cost += $add_cost;

        $values["cost"] = $cost;

        $modx->event->returnedValues = $values;
        break;
Володя
14 февраля 2018, 11:09
3
+1
чтобы выводились только те фото, которые указаны в галерее данной модификации, а остальные фото не отображались.
Для этого можно написать немного кода, например
$(document).on('msoptionsprice_product_action', function (e, action, form, r) {
    if (action == 'modification/get' && r.success && r.data) {
        var m = r.data.modification || {};

        var thumbs = m.thumbs || {main:['default.png']};
        var fotorama = $(form).closest(msOptionsPrice.Product.parent).find('.fotorama').data('fotorama');

        if (fotorama) {
            var images = [];
            (thumbs.main || []).filter(function (href) {
                images.push({img: href, caption: ''})
            });
            fotorama.load(images);
        }
    }
});
рабочий пример тут s6200.h3.modhost.pro/6/12010.html
Константин Ильин
12 февраля 2018, 09:49
1
0
В случае если меняется только домен(поддомен):

Создаете ресурс
pagetitle: robots
Тип содержимого: text
Кэшируемый: убрать галочку

Создаете шаблон Robots с содержимым (Должен быть включен Fenom)
User-agent: *
Disallow: /manager/
Disallow: /assets/components/
Disallow: /core/
Disallow: /connectors/
Host: {$.server.HTTP_HOST}

Sitemap: {$.server.REQUEST_SCHEME}://{$.server.HTTP_HOST}/sitemap.xml

В корне сайта нужно удалить файл robots.txt иначе будет загружаться он, а не созданный ресурс.
Присваиваете этот шаблон ранее созданному ресурсу и все готово. Теперь у вас динамический роботс, пляшущий от HTTP_HOST.
Bender
04 февраля 2018, 21:42
3
+2
Благодаря Василию, вопрос был разрешен.
'class' => 'modResource',
        'loadModels' => 'ms2gallery',
        'leftJoin' => [
            'Image' => [
                'class' => 'msResourceFile',
                'on' => 'modResource.id = Image.resource_id AND Image.parent = 0',
            ],
            'Thumb' => [
                'class' => 'msResourceFile',
                'on' => 'Image.id = Thumb.parent AND Thumb.path LIKE "%medium%"',
            ]
        ],
        'select' => [
            'modResource' => '*',
            'Image' => 'Image.url as image',
            'Thumb' => 'Thumb.url as thumb',
        ],
Алексей Ерохин
31 января 2018, 10:50
1
0
Перед foreach
$modx->setPlaceholder($totalVar,count($response));
$response = array_slice($response,$offset, ($limit+$offset), true);
Если нужен idx в чанках:
foreach ($response as $key=>$res) {    
        $res['class'] = $class;
	$res['idx'] = $key+1;
        $output .= $pdo->getChunk($tpl, $res);
    }
Николай
24 января 2018, 21:00
1
0
получилось реализовать следующим способом
вывод
[[pdoResources?
&parents=`[[*id]]`
	&class=`msVendor`
	 &parents=`0` 
    &where=`{"id:IN":[ [[msVendor]] ]}`
	&sortby=`name`
	&sortdir=`ASC`
		&limit=`0`
	&tpl=`vendor.tpl`
]]
чанк vendor.tpl
[[+logo:is=``:then=``:else=` 
<li><a href="[[~[[*id]]]]?vendors=[[+id]]"> <img src="[[+logo]]" > <p>[[+name]]</p></a>   </li>

`]]
чанк vendor.tpl3
[[#[[+id]].vendor]],
чанк vendor.tpl4
[[#[[+id]].vendor]]
сниппет msVendor
$ids = $modx->runSnippet('msProducts', array('where'=>'{"Data.vendor:!=":"0"}','limit'=>0,'tpl'=>'vendor.tpl3','tplLast'=>'vendor.tpl4'));

 
print_r($ids);