vgrish 20 апреля 2013 0 6
Доброе утро ребята.
хочу протестировать в консоли вот такой снипет, как сделать вывод на экран? запускаю а у меня на экране пусто

<?php
if (!empty($parents) && $parents > 0) {
    if (empty($depth)) {$depth = 10;}
    $pids = array_map('trim', explode(',', $parents));
    $parents = $pids;
    foreach ($pids as $v) {
        if (!is_numeric($v)) {continue;}
		$parents = array_merge($parents, $modx->getChildIds($v, $depth));
	}
}
$output = null;
$q = $modx->newQuery('msProductFile', array('type' => 'image', 'parent' => 0));
$q->innerJoin('msProduct', 'msProduct', '`msProductFile`.`product_id` = `msProduct`.`id`');
$q->select('`msProductFile`.`id`, `msProductFile`.`url`, `msProductFile`.`product_id`, `msProduct`.`pagetitle`');

if (!empty($parents)) {
	$q->where(array('`msProduct`.`parent`:IN' => $parents));
}
if ($q->prepare() && $q->stmt->execute()) {
	while ($image = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
       	$output .= '<a href="'.$image['url'].'" rel="prettyPhoto['.$image['product_id'].']" title="'.$image['pagetitle'].'"></a>'."\n";
        
	}
}
return $output;

подскажите плиз!!!
6 комментариев
Fi1osof1
Fi1osof 21 апреля 2013г в 18:38 #
Вы в консоль вставляете именно этот код, или выполняете $modx->runSnippet()? В любом случае, у вас сниппет не делает сам конечный вывод, он возвращает результат.
return $output;

То есть надо не забыть print результата сделать. Если не хватает знаний основ php, то обязательно надо взяться за изучение. Элементарные вещи знать обязательно надо.
vgrish1
vgrish 21 апреля 2013г в 18:46 #
да я именно его в консоль вставляю, print($output); не помогает…
пока вот так выкрутился чтоб посмотреть как выборку делает
$q->prepare();
$q->stmt->execute();

$result = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($result);

знаний ноль...)
Fi1osof1
Fi1osof 21 апреля 2013г в 18:52 #
print после return — бесполезен. Как и все остальное. return возвращает результат и дальше код не выполняется.
vgrish1
vgrish 21 апреля 2013г в 19:34 #
погоди… ретурн то я убираю, и все равно на экране пусто. каким же образом можно протестировать код?
vgrish1
vgrish 21 апреля 2013г в 19:39 #
подскажи пожалуйста еще как допустим вывести в консоль результат $parents
if (!empty($parents) && $parents > 0) {
    if (empty($depth)) {$depth = 10;}
    $pids = array_map('trim', explode(',', $parents));
    $parents = $pids;
    foreach ($pids as $v) {
        if (!is_numeric($v)) {continue;}
                $parents = array_merge($parents, $modx->getChildIds($v, $depth));
        }
}
Fi1osof1
Fi1osof 21 апреля 2013г в 20:00 #
community.modx-cms.ru/blog/modx-xpdo/10247.html
Сразу скажу, что подобного рода вопросы здесь не будут приветствоваться. Информации в инете полно, и мы не будет здесь играть роль поисковиков по поисковикам. Основы надо осваивать самому.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.