Андрей

Андрей

С нами с 22 сентября 2014; Место в рейтинге пользователей: #169
Андрей
30 августа 2016, 13:46
0
То есть ссылку нужно просто выводить тупо в лоб: www.site.ru/stranica.html?
А картинки как я понял из документации можно прикрепить?
Андрей
30 августа 2016, 11:03
0
А подскажите, можно ли в чанке поста сделать ссылку на собственно материал? Что-то типа Подробнее… Будет ли работать такая конструкция?
Андрей
29 августа 2016, 19:17
+1
О, все работает. Спасибо!
Андрей
29 августа 2016, 16:28
0
Вот чанк, куда не вставлял — не выводит…

{foreach $options as $option}
    <div class="form-group">
        <label class="col-md-4 control-label">{$option.caption}:</label>
        <div class="col-md-8 form-control-static">
            {if $option.value is array}
                {$option.value | join : ', '}
            {else}
                {$option.value}
            {/if}
        </div>
    </div>
{/foreach}
Андрей
29 августа 2016, 10:40
0
В общем я сделал такой простенький сниппет, даже 2 варианта.
Вариант 1:
<?php
$where = array(
    'pagetitle' => 'Категория 1'
    );
$resources = $modx->getCollection('modResource',$where);
		$output = '';
		foreach ($resources as $k => $res) {
		$output[] = $res->get('parent');
	}
$output = implode(', ', $output);
return $output;
Вариант 2:
<?php
$where = array(
    'pagetitle' => 'Категория 1'
    );
$resources = $modx->getCollection('modResource',$where);
		$output = '';
		foreach ($resources as $k => $res) {
		$output[] = $res->get('parent');
	}
$output = implode(', ', $output);
$params = array();
$params['parents'] = '0';
$params['resources'] = '15,17,20,21,22,24';
$params['tpl'] = 'product_tpl';
$params['showLog'] = '1';
$params['includeTVs']='image';
$params['sortby']='{"createdon":"ASC"}';
$res = $modx->runSnippet('pdoResources', $params);

if (!empty($res)) {
    return $res;
}
Но в результате вывожу на странице если по варианту 1 то Просто вызов pdoResources с параметром &resources=`[[!mySnippet]]`…
Если по варианту 2, то просто вызываю [[!mySnippet]]

и там и там выводит не то, что нужно — то выводит вообще все материалы категории, то вообще ничего не выводит.
Мне кажется вариант 1 предпочтительнее, просто передать нужные ID в pdoResources. Подскажите как это сделать?
Андрей
28 августа 2016, 22:08
0
Добрый день. Скажите, а Одноклассники планируются?
Андрей
28 августа 2016, 15:40
0
Потому что у тебя все завязано на одной функции, по клику на ссылку.
А закрытие окна отсюда вообще убери — тебе Макс написал как нужно оформить закрытие модалки.
Андрей
28 августа 2016, 15:39
0
Так бы и сказал. Максим все правильно написал.
Андрей
28 августа 2016, 15:28
0
и да, алерт у тебя не там и не для того. Тебе нужно проверить срабатывает ли он при зарытии
Андрей
28 августа 2016, 15:27
0
Ну я чего-то вообще не вижу функции открытия модалки — она где?
По идее надо после
$('#modal-title').html(data.pagetitle);
хотя может я туплю?)
Андрей
28 августа 2016, 15:24
0
чето я алерта не вижу
Андрей
28 августа 2016, 15:21
0
Кинь скрипт полностью, чтобы было понятно как у тебя там напсиано
Андрей
28 августа 2016, 15:17
0
Да, либо так))
Андрей
28 августа 2016, 15:09
0
$('#content').empty(); — может здесь запятая в конце а не точка с запятой должна быть?
Андрей
28 августа 2016, 14:46
0
hide() ты закрываешь модалку, а после того, как она закрылась, тебе нужно очистить поля. Если сначала очистить а потом закрыть, то пользователь увидит, что поля очистились.
Закрываешь hide()
а потом
$('#txt').empty();
$('#title').empty();
Андрей
28 августа 2016, 14:30
0
У тебя все это дело в модалке открывается?
У нее есть например id=«modal»
Значит, закрываешь так
$(#modal).hide();
Андрей
28 августа 2016, 13:43
0
Например, так .fadeOut(); или так .hide();
Андрей
28 августа 2016, 12:27
+2
Сделай после закрытия окна очистку полей .empty()
Андрей
28 августа 2016, 12:08
+1
Ну так ты тоже самое и сделал.
Тебе нужно получить нужные поля — например, картинку, название, цену.
Вот скриптов в файле ajax.php из получаешь.
В итоге в скрипт JS тебе падает JSON с этими полями
Ты его разбираешь и просто путем подстановки в заранее сверстанный макет разметки подставляешь:
$('#txt').html(data.content); // Здесь в блок с ID txt вставляешь то что в поле content
$('#title').html(data.pagetitle);// Здесь в блок с ID title вставляешь то что в поле title
Таким образом сама модалка у тебя пустая, без каких-либо заранее выводимых данных. Их ты получаешь только после нажатия на ссылку, после чего начинает работать скрипт и собирать данные.
Ну а на последнем этапе показывай саму модалку .modal('show')