Павел Романов

Павел Романов

С нами с 03 марта 2014; Место в рейтинге пользователей: #70
Павел Романов
17 января 2017, 10:52
+3
Это Chrome обновился, а в FF так вообще давно было.
Используйте Ctrl+Shift+ЛКМ
Павел Романов
14 января 2017, 18:46
0
Если у Вашего сниппета есть возможность фильтрации, то нужно просто добавить туда то, что в $_GET и выводить в нужном формате.
Если при этом в выборку попадают не те товары, то надо смотреть уже сам сниппет )).
Павел Романов
14 января 2017, 18:04
0
Если просто [[*content]] на всех страницах, кроме главной пропадает, то у Вас где-то есть аналогичный скрипт, который работает с .kd-sect-7-about-site и переменной con, которая объявляется в самом начале. Иначе бы выводилось на всех ))
Павел Романов
14 января 2017, 17:54
0
Так Вам что надо было-то? Чтобы контент выводился всегда (на всех страницах)?
Если так, то естественно, нужно убрать условие.

Если же надо, чтобы, все-таки, выводился только на первой, то это нужно через JS делать:

//.........
<div class="kd-sect-7-about-site">
	<style>
		#cont {display:none;}
		#cont.active {display:block;}
	</style>

	<script>
	$(document).on('mse2_load', function(e, response) {
		var page = mse2Config.page;
		if(page){
			$("#cont").removeClass("active");
		} else {
			$("#cont").addClass("active");
		}
	});
	</script>
	<div id="cont" class="active">[[*content]]</div>
</div>
//...........
Павел Романов
14 января 2017, 16:44
0
Тогда чанк tpl.mFilter2.outer (он должен быть в категории mSearch2)
Павел Романов
14 января 2017, 16:06
1
0
Для вставки кода используйте соответствующий инструмент, а то непонятно о чем речь.

А по существу добавьте в ссылку на страницу каталога GET-параметр и названием TV (если они все однотипные и выдают 1 или пусто):
<a href="[[~ID_страницы_каталога? &tag=`vstroenBatt`]]">Встроенная батарея</a>

Сделайте сниппет getFilter
<?php
if(!empty($_GET['tag'])) return '&tvFilters=`'.$_GET['tag'].'===1`';

B каталоге просто добавьте этот сниппет в вызов:
[[pdoResoutrces?
.....
[[!getFilter]]
]]
Павел Романов
13 января 2017, 12:47
+1
Если на сайте стоит Polls, то вот.
Павел Романов
07 января 2017, 02:19
+1
А если не через where, а tvFilters?

&tvFilters=`video!==`
Павел Романов
06 января 2017, 16:51
+1
Лучше уж тогда в сниппете ):

<?php
if(empty($input)) return '';
$imgs = explode(',', $input);
foreach($imgs as $path){
    if(!empty($path)) $out .= $modx->getChunk($tpl, array('path'=>$path, 'alt'=>$alt));
}
return $out;
Павел Романов
06 января 2017, 16:16
+1
Сниппет getImages:
<?php
$imgs = explode(',', $input);
foreach($imgs as $path){
    $out .= $modx->getChunk($tpl, array('path'=>$path, 'alt'=>$alt));
}
return $out;

Вызов на странице самого ресурса:
[[getImages? 
&input=`[[*tv_album]]` 
&tpl=`image-tpl`
&alt=`[[*pagetitle]]`
]]

Вызов в чанке pdoResources (естественно, должен стоять параметр &includeTVs=`tv_album`):
[[getImages? 
&input=`[[+tv.tv_album]]` 
&tpl=`image-tpl`
&alt=`[[+pagetitle]]`
]]

Чанк image-tpl:
<img src="[[+path]]" alt="[[+alt]]" />

Для сжатия поставьте pThumb и тогда так:
<img src="[[+path:pthumb=`&w=150&h=100`]]" alt="[[+alt]]" />
Павел Романов
30 декабря 2016, 18:27
1
0
Где-то ошиблись. Попробовал сделать тоже самое на локалке:
TV catalog_prices:


TV catalog


Данные в ресурсе:


Вызов в ресурсе:
[[getImageList?
&tvname=`catalog`
&tpl=`catalogItemBox`
]]

Чанк catalogItemBox:
[[+title]]
[[+text]]
[[getImageList?
&value=`[[+price_elements]]`
&tpl=`catalogItemPrice`
]]

Чанк catalogItemPrice:
[[+parameter]]->[[+price]]

Результат:

Павел Романов
30 декабря 2016, 12:23
0
А если просто прописать в catalogItemBox:
[[+price_elements]]
Что-то выводит?
Павел Романов
30 декабря 2016, 11:51
0
Надо не в TV сниппет прописывать, а в чанке catalogItemBox:

[[getImageList? &value=`[[+price_elements]]`&tpl=`catalogItemPrice`]]
Павел Романов
15 декабря 2016, 19:00
0
Если нужно выводить порядковый номер на фронтенде, то используйте в чанке плейсхолдер:
[[+idx]]
Павел Романов
14 декабря 2016, 10:46
0
Посмотрите как сделан shk_fihook в Shopkeeper (там заказ как раз через него отправляется + пишется в базу).
Павел Романов
13 декабря 2016, 12:25
1
+2
Создаете второе TV типа MIGX и в разметке формы указываете его в параметре inputTV.
Для вывода используйте в чанке параметр &value у getImageList:
[[getImageList? &vlue=`[[+field_name]]`]]
Павел Романов
12 декабря 2016, 18:58
0
К pdoResources можно подключать свои таблицы.
Либо можете использовать Rowboat.
Павел Романов
12 декабря 2016, 10:30
+1
Просто проверяйте, есть ли в GET что-то.
Попробуйте так:
[[pdoResources?
...
[[!#GET.l:isnot=``:then=` &where=`{"pagetitle:LIKE":"[[!#GET.l]]%"}` `]]
]]

Или так:
[[pdoResources?
...
&where=`[[!#GET.l:isnot=``:then=`{"pagetitle:LIKE":"[[!#GET.l]]%"}`]]`
]]

Или сделайте сниппет:
if(!empty($_GET['l'])) return '&where=`{"pagetitle:LIKE":"'.$_GET['l'].'%"}`';

и его уже просто подставьте в вызов pdoResources:
[[pdoResources?
...
[[!Snippet]]
]]

$char tam берется из foreach.
Сама буква у Вас в GET. Выводите просто:
[[!#GET.l]]