Александр

Александр

С нами с 31 июля 2014; Место в рейтинге пользователей: #215
Александр
09 мая 2015, 09:18
0
Спасибо! Поменял на getTickets, теперь выводит всё кроме изображений )
Второй день бьюсь уже, на главной никак не получается вывести фото.
Александр
08 мая 2015, 06:03
0
Спасибо, Василий.

Я вывожу на главной странице список всех тикетов таким образом:

[[!mSearchForm?]]

[[!mFilter2?
	&tpl=`tpl.Tickets.list.row`
        &parents=`4,5,6,7,8,9,10,11,12,13`
        &filters=`tv|realty, tv|transport`
        &element=`mSearch2`
]]
Но почему-то выводятся только [[+pagetitle]] и [[+introtext]].
Такие параметры как [[+date_ago]], [[+views]] и т.д. не показываются.
Пробовал их указать в includeTV для mSearch2 — безрезультатно.
Или я опять не туда полез? )
Александр
07 мая 2015, 15:48
0
Нашел файл в тикетах files.js, в последних строках прописан процесс добавления прикрепленного файла в поле content.
Может через него можно добавить картинку?
Александр
07 мая 2015, 08:26
0
Извиняюсь, а можно полностью описать конечное решение? почитал комментарии и в конец запутался, где какие чанки, плагины и сниппеты создавать… Если это решение актуально конечно ещё, может другие способы есть, более удобные?
Александр
30 апреля 2015, 05:34
+1
Отлично!!! Большое спасибо за Ваши труды )
Александр
27 апреля 2015, 20:28
0
Спасибо большое за помощь!

Пошел дальше, сделал через js отслеживание чекбоксов, чтобы можно было выбирать разделы группами (http://krskdoska.ru).
Если нажать на чекбокс Недвижимость — то выбираются все подразделы, но фильтрация не происходит.

Я так понимаю, в скрипте нужно запустить фильтрацию, но что именно прописать?

Скрипт, отвечающий за выделение чекбоксов:

<script type="text/javascript">
//<![CDATA[ 
$(function(){
$('.main_check').on('change',function () {
    var $that = $(this);
    $that.next('ul').find(':checkbox').prop('checked', $that.prop('checked'));
});
$('.checkbox').on('change', function(){
    var $that = $(this),
        ul = $that.closest('ul'),
        main = ul.prev('.main_check');
    main.prop('checked', $(':checkbox',ul).length == $(':checkbox:checked',ul).length);
});
});//]]>  
</script>

Сгенерированный код страницы, где выводятся чекбоксы:

<ul class="folder">
    	<li>Недвижимость<input type="checkbox" class="main_check">
    	    <ul class="section">
    	        <li>
    <label for="mse2_tv|realty_0" class="">
    	<input type="checkbox" class="checkbox" name="tv|realty" id="mse2_tv|realty_0" value="Гаражи и машиноместа"> Гаражи и машиноместа <sup>1 </sup>
    </label>
   
</li>
<li>
    <label for="mse2_tv|realty_1" class="">
    	<input type="checkbox" class="checkbox" name="tv|realty" id="mse2_tv|realty_1" value="Дома и дачи"> Дома и дачи <sup>2 </sup>
    </label>
   
</li>
<li>
    <label for="mse2_tv|realty_2" class="">
    	<input type="checkbox" class="checkbox" name="tv|realty" id="mse2_tv|realty_2" value="Земельные участки"> Земельные участки <sup>1 </sup>
    </label>
   
</li>
<li>
    <label for="mse2_tv|realty_3" class="">
    	<input type="checkbox" class="checkbox" name="tv|realty" id="mse2_tv|realty_3" value="Квартиры"> Квартиры <sup>3 </sup>
    </label>
   
</li>
<li>
    <label for="mse2_tv|realty_4" class="">
    	<input type="checkbox" class="checkbox" name="tv|realty" id="mse2_tv|realty_4" value="Коммерческая недвижимость"> Коммерческая недвижимость <sup>1 </sup>
    </label>
   
</li>
<li>
    <label for="mse2_tv|realty_5" class="">
    	<input type="checkbox" class="checkbox" name="tv|realty" id="mse2_tv|realty_5" value="Комнаты"> Комнаты <sup>3 </sup>
    </label>
   
</li>
    	    </ul>
    	</li>
    </ul>
Александр
27 апреля 2015, 20:18
0
Спасибо, переделал! Теперь выводит нормально результаты )
Александр
27 апреля 2015, 13:25
0
Вот страница krskdoska.ru/

Если не вводить ничего в поисковую строку, и просто кликнуть на фильтр (скажем, Квартиры), то справа в результатах выводится только ссылка на раздел с квартирами. А нужно, чтобы выводились все тикеты из этого раздела.

Надеюсь, понятно выразился )
Александр
27 апреля 2015, 06:22
0
Попробовал так сделать, результат кое-какой есть )

Сделал параметр realty (список), в нём возможные значения (Квартиры||Комнаты||Земельные участки и т.д.), на всякий случай разрешил его всем шаблонам.

Прошелся по категориям недвижимости и к каждому разделу назначил соответствующий пункт из realty.

Вызвал mFilter2 так:
[[!mFilter2?
    &parents=`0`
    &filters=`tv|realty`
]]

В итоге выводит вот такой фильтр:



Но если выбирать пункты, то в результаты поиска выводятся только те страницы, которые отмечены tv realty. То есть, если я выбираю Гаражи и машиноместа, то выводится ссылка только на этот раздел, а дочерние игнорируются, хотя они там есть.

Параметры &hideContainers = `false` и &showHidden = `true` по умолчанию.

Есть подозрение, что я неправильно указываю filters при вызове. Есть какие-нибудь соображения? )
Александр
26 апреля 2015, 20:09
0
Может можно как-то обозначить для заглавных категорий один чанк, а для дочерних — другой?
Александр
26 апреля 2015, 20:07
0
А можно немного подробнее?

Какого типа нужно создать тв, и в каком чанке прописать название заглавной категории чтобы она именно перед своими дочерними категориями встала?
Александр
25 апреля 2015, 12:52
0
Или это как-то через чанки реализовать можно?
Александр
24 апреля 2015, 11:48
0
Огромно спасибо! Буду разбираться и прикручивать )
Александр
24 апреля 2015, 11:39
0
В логи пишет ошибку:
[2015-04-24 11:37:54] (ERROR @ /home/bh57920/public_html/core/cache/includes/elements/modplugin/10.include.cache.php : 3) PHP warning: implode(): Invalid arguments passed
[2015-04-24 11:37:54] (ERROR @ /assets/components/tickets/action.php) modTemplateVarResource: Attempt to set NOT NULL field value to NULL
Александр
24 апреля 2015, 11:34
0
Заполнил все option вручную — заработало. Спасибо!

А как парсить значения? ) чтобы каждый раз в чанк не лезть?
Александр
24 апреля 2015, 10:33
0
Запутался немного.

У меня параметр: tv1
Возможные значения ввода: Квартиры||Комнаты||Гаражи||Офисы||

В чанке с формой такой код:
<select name="tv1" id="ticket-type">[[+tv1]]</select>
Создал плагин ticket_select с кодом:
if($mode == 'new' && $resource->class_key == 'Ticket' && $modx->event->name == 'OnDocFormSave'){
	$resource->setTVValue('tv1', $_POST['tv1']);
}
Куда нужно прописать вот этот код и что в нем нужно заменить?
$services_services = implode("||", $_POST['services_services']);
	if (!$resource->setTVValue('services_services', $services_services)) {
		$modx->log(xPDO::LOG_LEVEL_ERROR, 'services_services - ERROR');
	}
Александр
24 апреля 2015, 10:02
0
Множественный селект нужно чтобы пользователь мог выбирать, в этом загвоздка вся.
Александр
24 апреля 2015, 10:00
0
Я извиняюсь, а куда это нужно прописать? ) в плагин Tickets или сниппет TicketForm?
Пробовал и туда, и туда — безрезультатно (
Александр
24 апреля 2015, 09:10
0
Неужели никому не нужны селект-боксы в тикетах?!
Александр
18 апреля 2015, 18:43
0
Также столкнулся с данной проблемой? поделитесь, как решили? и решили ли…