Andrew

Andrew

С нами с 12 апреля 2019; Место в рейтинге пользователей: #1097
Andrew
17 декабря 2019, 06:14
0
всё решил.
поменял на:
flyToElement($(flyimg), $('.basket .dropdown-toggle'));

теперь и первый товар тоже в корзину летит, фух.
Andrew
17 декабря 2019, 05:40
0
класс! +тысяча в карму вам и спасибо огромное)
всё заработало.
только первый раз когда добавляешь в корзину, то картинка летит куда-то в бок, а уже затем в корзину, я вот что поменял:
flyToElement($(flyimg), $('.not_empty .glyphicon-shopping-cart'));

на:
flyToElement($(flyimg), $('.not_empty .ms2_total_count'));
Andrew
16 декабря 2019, 00:12
0
Вот шаблон категории:
<!DOCTYPE html>
<html lang="ru">
  <head>
	[[$counters]]
	[[$meta]]	
  </head>  
  <body>
	<div class="wrapper">
	  [[$headerInner]]
	  <section id="category-grid">	  
		[[!mFilter2?
		&paginator=`pdoPage`
		&class=`msProduct`
		&element=`msProducts`
		&includeThumbs=`small,medium,big`
		&parents=`[[*id]]`
		&includeTVs=`avaible`
		&processTVs=`1`
		&tplOuter=`mFilter2OuterTpl`
		&tpls=`gridProductTpl,listProductTpl`
		
		&limit=`12`
		&sort=`resource|menuindex:asc`
		&aliases=`
		ms|price==price,
		ms|vendor==vendor,
		msoption|fasovka==fasovka,
		msoption|srok==srok,
		msoption|reprodukcia==reprodukcia
		`
		&filters=`
		ms|price:number,
		ms|vendor:vendors,
		msoption|fasovka:default,
		msoption|srok:default,
		msoption|reprodukcia:default
		`
		&tplFilter.outer.price=`tpl.mFilter2.filter.slider`
		&tplFilter.row.price=`tpl.mFilter2.filter.number`
		
		
		]]
	  </section>	  
	  [[$footer]]
	</div>
	[[$scripts]]	
  </body>
</html>
А вот код чанка gridProductTpl:
<div class="col-xs-12 col-sm-4 no-margin product-item-holder hover ms2_product">
  <div class="product-item">
    <form method="post" class="ms2_form">
	  <input type="hidden" name="id" value="{$id}">
	  <input type="hidden" name="count" value="1">
	  <input type="hidden" name="options" value="[]">
	  <div class="ribbons">
		{if $favorite?}
		<div class="ribbon red"><span>[[%product.skidka1? &namespace=`babel` &topic=`translate`]]</span></div>
		{/if}
		{if $new?}
		<div class="ribbon blue"><span>[[%product.new? &namespace=`babel` &topic=`translate`]]</span></div>
		{/if}
		{if $popular?}
		<div class="ribbon green"><span>[[%product.popular? &namespace=`babel` &topic=`translate`]]</span></div>
		{/if}
	  </div>
	  <div class="image">
		{if $image?}
		<a href="{$id | url}">
		  <img class="lazy" src="[[+medium]]" alt="[[+longtitle:default=`[[+pagetitle]]`]] -фото" title="[[+longtitle:default=`[[+pagetitle]]`]] -изображение"  width="200"/>
		</a>
		{else}
		<img class="lazy" src="{'assets_url' | option}components/minishop2/img/web/ms2_small.png"
		srcset="{'assets_url' | option}components/minishop2/img/web/ms2_small@2x.png 2x"
		alt="[[+longtitle:default=`[[+pagetitle]]`]] -фото" title="[[+longtitle:default=`[[+pagetitle]]`]] -изображение"/>
		{/if}
	  </div>
	  <div class="body">
		[[+old_price:neq=`0`:then=`<div class="label-discount green">-[[percent? &newprice=`[[+price]]` &oldprice=`[[+old_price]]`]]% [[%product.skidka2? &namespace=`babel` &topic=`translate`]]</div>`]]
		<div class="title">
		  <a href="{$id | url}">{$pagetitle}</a>
		</div>
		<div class="brand">{$_pls['vendor.name']}</div>
		<div class="reviews_product">
		  <i class="fa fa-comments-o"> <p>  [[!ecMessagesCount:default=`0` ? &thread=`resource-[[+id]]`]]</p></i>
		</div> 	

		<div class="availability">
		  <label>[[%product.nalichie? &namespace=`babel` &topic=`translate`]]</label>
		  [[+avaible:eq=`1`:then=`<span class="available">[[%product.est? &namespace=`babel` &topic=`translate`]]</span>`]]
		  [[+avaible:eq=`2`:then=`<span class="available">[[%product.zakanchivaetsa? &namespace=`babel` &topic=`translate`]]</span>`]]
		  [[+avaible:eq=`0`:then=`<span class="available">[[%product.net? &namespace=`babel` &topic=`translate`]]</span>`]]
		</div>

	  </div>
	  <div class="prices">
	    {if $old_price?}
		<div class="price-prev">{$old_price} грн</div>
		{/if}
		{if $price?}
		<div class="price-current pull-right">{$price} грн</div>
		{else}
		<div class="price-current pull-right"><p>[[%product.dog.cena? &namespace=`babel` &topic=`translate`]]</p></div>
		{/if}
	  </div>
	  <div class="hover-area">
		[[+avaible:neq=`0`:then=`<div class="add-cart-button">
		<button type="submit" name="ms2_action" value="cart/add" class="le-button">[[%product.in.basket? &namespace=`babel` &topic=`translate`]]</button>
		</div>
		`]]
		<div class="wish-compare">
		  [[!addComparison?
		  &list_id=`[[++sravnenie_tovarov]]`
		  &list=`semena`
		  &id=`[[+id]]`
		  &tpl=`addComparisonTpl`
		  ]]
		</div>
	  </div>
	</form>
  </div>
</div>
Andrew
15 декабря 2019, 23:14
0
блин, в примерах работает отлично, а на сайте не хочет…
срабатывает только сообщение jGrowl
Andrew
15 декабря 2019, 22:51
0
без форм теперь нормально работает в примере, но у меня на странице категории не хочет… как с формами, так и без них…
Andrew
15 декабря 2019, 21:45
0
оно и в примере как то через раз выдаёт ошибку…
Andrew
15 декабря 2019, 21:25
0
точно, с пробелом страница работает, а анимация не хочет..( хм…
прикольная штука…
Andrew
15 декабря 2019, 20:34
0
Пробовал этот код на страницу категории, вообще перестает работать, белый экран…
Andrew
15 декабря 2019, 19:28
0
чёт не хочет работать…
Andrew
20 ноября 2019, 16:07
0
Спасибо, только в php разбираюсь поверхностно, поэтому задам наивный вопрос, проверку в классе дописать? что то типа:
<?php
if (проверка на откуда был отослан запрос) {
class myOrderHandler extends msOrderHandler
{
	public function submit($data = array())
	{
		$min_price_order = $this->modx->getOption('ms2_minimum_price_order');
		$cart_status = $this->ms2->cart->status();
		$currency = $this->modx->lexicon('ms2_frontend_currency');
		if( $cart_status['total_cost'] < $min_price_order )
		{
			return $this->error( 'ms2_order_err_total_price', array(), array('price'=>$min_price_order, 'currency'=>$currency) );
		}
		return parent::submit($data);
	}
}
}
Andrew
20 ноября 2019, 15:45
0
Добрый день! Ещё тут спрошу.
Есть плагин minSumOrder, настроен на событие msOnSubmitOrder
<?php
if ($modx->event->name == 'msOnSubmitOrder'){
        if($cart = $order->ms2->cart->status()) {
            if($cart['total_cost'] < 100) {
                $modx->event->output('Сумма вашего заказа должна превышать 100 руб!');
            } 
        }
}
он не даёт отправить заказ меньше 100 руб. в minishop2.
Настроил ещё msOneClick, но теперь этот плагин не даёт отправлять заказы из формы в один клик, выдаёт предупреждение, хотя сумма в заказе больше.
Пришлось отключить этот плагин и выйти на поиски другого решения. Может кто сталкивался?
Andrew
20 ноября 2019, 13:07
0
Тоже самое, и этот плагин не даёт отправлять заказ через msoneclick…
if ($modx->event->name == 'msOnSubmitOrder'){
        if($cart = $order->ms2->cart->status()) {
            if($cart['total_cost'] < 1000) {
                $modx->event->output('Сумма вашего заказа должна превышать 1000 руб!');
            } 
        }
}
Может гуру подскажут что надо подшаманить в коде?)
Andrew
20 ноября 2019, 12:55
0
Этот способ работает как надо на странице оформления заказа, а если делать заказ через компонент msoneclick, то он не даёт отправлять заказ в один клик. Выдаёт сообщение в ms2_order_err_total_price, хотя сумма заказа подпадает под условия.
Может кто подскажет как снять этот запрет для msoneclick?
Andrew
19 ноября 2019, 17:28
0
Подскажите, кто нибудь решил проблему с 500 ошибкой?
Всё сделал по инструкции, пробовал разные варианты, но всё равно выдаёт 500 ошибку, а класс-обработчик прописать не даёт…
Andrew
21 августа 2019, 20:39
0
Такую помощь я и на воркзилле могу найти… ладно, проехали, спасибо что хоть Вы откликнулись.
Если сам не найду решения, возможно так и будет.
Грустный у вас форум сообщества какой-то… Все куда-то уходить собираются..)
Andrew
21 августа 2019, 19:56
0
Пробовал делать ресурс не документом, а тикетсом, всё равно вырезает класс в конечном итоге, такое впечатление что сниппет TicketComments живёт отдельной жизнью, и его не волнуют проблемы Jevix`а…
Может была уже тема такая?
Andrew
21 августа 2019, 08:44
0
Спасибо, надеюсь что до этого не дойдет.)
Хочу сам разобраться в MOD'эксе. Понять принципы работы компонентов и сниппетов, зависимость их от различных настроек и параметров и т.д. Ну интересно мне разобраться что к чему, и ничего с этим поделать не могу. Как то так.)
Andrew
20 августа 2019, 15:33
0
To iWatchYouFromAfar, возможно даю неправильные вводные, поэтому с начала и по порядку).
В шаблоне товара есть блок с отзывами, который выводится сниппетом ecMessages из компонента easyComm, там всё нормально.
Также, в шаблоне статьи (новости), есть блок с комментариями, который выводится сниппетом TicketComments из компонента Tickets. Вот в этих комментариях и пропадает класс у изображений.
Пробовал менять настройки jevix'а и для tickets, и по умолчанию, в разных вариантах, и Вашу конструкцию тоже подставлял, но класс так и не прописывается.
После того как методом научного тыка попробовал прописать в теге img такой атрибут — loading=«lazy» (на форуме вычитал), то начали вырезаться ещё и изображения у комментариев. Черт его знает почему.
Решил проблему пока что так — зашел в базу данных, и уже там изменил текст который должен выводиться на нужный:



Но это не выход постоянно лазить в базу и там менять настройки для каждого комментария.
Хотелось бы разобраться в чём дело, может я не в том направлении ищу решение?
Вот код из cfgAllowTagParams для ticket:
{
"pre":{"class":["prettyprint"]},
"cut":{"title":["#text"]},
"a":["title","href"],
"img":{
"0":"src",
"class":["lazy"],
"alt":"#text",
"1":"title",
"align":["right","left","center"],
"width":"#int",
"height":"#int",
"hspace":"#int",
"vspace":"#int"}}
вот по умолчанию:
{
"a":["title","href"],
"img":{
"0":"src",
"class":["lazy"],
"alt":"#text",
"1":"title",
"align":["right","left","center"],
"width":"#int",
"height":"#int",
"hspace":"#int",
"vspace":"#int"}
}
Andrew
20 августа 2019, 06:50
0
Спасибо что откликнулись.
Попробовал, но все равно не хочет пропускать класс.
Вот что у меня прописано в cfgAllowTagParams в тикетсах сейчас:
{«pre»:{«class»:[«prettyprint»]},
«cut»:{«title»:["#text"]},
«a»:[«title»,«href»],
«img»:{«0»:«src»,«alt»:"#text",«1»:«title»,«align»:[«right»,«left»,«center»],«class»:[«lazy»],«width»:"#int",«height»:"#int",«hspace»:"#int",«vspace»:"#int"}}

дело в том, что для Comment стоят аналогичные настройки в Jevix, но в Comment`ах класс ленивой загрузки срабатывает, а в тикетсах никак не хочет.
Вот конструкция из cfgAllowTagParams коментариев:
{«pre»:{«class»:[«prettyprint»]},
«a»:[«title»,«href»],
«img»:{«0»:«src»,«alt»:"#text",«1»:«title»,«align»:[«right»,«left»,«center»],«width»:"#int",«height»:"#int",«hspace»:"#int",«vspace»:"#int"}}

Такое впечатление что это не Jevix влияет на вывод тегов и их атрибутов в тикетсах, что дело в чём-то другом.
Andrew
19 августа 2019, 22:32
0
Подскажите пожалуйста, аналогичная ситуация, только класс lazy, а тег img.
Стоит компонент lazy image.
Если дописывать в тег img, в тикете к ресурсу, класс «lazy», то не срабатывает ленивая загрузка.
В комментариях класс выводится и срабатывает ленивая загрузка, а в тикетсах не хочет.
Как выход из ситуации, пробовал дописывать в cfgAllowTagParams, в тег img такую конструкцию — «img»:[«class»], и «img»:[«class»:«lazy»], чистил кеши, но так и не хочет срабатывать класс ленивой загрузки только в тикетсах к ресурсу. Везде работает.
Сверял все параметры jevix'а с комментариями, никаких различий.
Что я упускаю?