Всего 123 800 комментариев

Василий Наумкин
11 октября 2012, 06:21
0
Сделал в getData $c->prepare(); echo $c->toSql();die;

SELECT `id`,`pagetitle`,`parent` FROM `modx_site_content` AS `modResource` WHERE ((`modResource`.`published` = 1 AND `modResource`.`deleted` = 0) AND `modResource`.`id` IN (13,14,52)) ORDER BY `modResource`.`menuindex` ASC LIMIT 20

То есть, SQL запрос в getCollection попадает верный, а вот почему оно выбирает все столбцы, вместо указанных — мне не ведомо.

Проверил — и в сниппете так же, и в методе getIterator(). Похоже, с каких-то пор они просто игнорируют SELECT.

То ли баг, то ли так и надо.
Иван Брежнев
11 октября 2012, 00:58
0
Вот то что возвращает получившийся процессор, то что нужно
i25.fastpic.ru/big/2012/1011/54/b8fc5426ff408e5e197906a73643c954.png
Иван Брежнев
11 октября 2012, 00:24
0
А это процессор который получился
pastebin.com/j7JBtHLr
Иван Брежнев
11 октября 2012, 00:20
0
В том то и дело что выбираются данные из всех столбцов. Я бы не постил, если бы не попробовал сам различные варианты.
Ниже иллюстрации.

i26.fastpic.ru/big/2012/1011/f5/4421f51f21031820061407016b0e33f5.png
i26.fastpic.ru/big/2012/1011/5b/f592963e8b248c963eb4d64c97861f5b.png
Александр Бехер
10 октября 2012, 22:35
0
Стоит «Нет», поменял с msGetResources на getResources — не помогло. Добавлено 2 товара в Стройматериалы -> Кирпичи, они выводятся во всех категориях, добавил товар 3 в Стройматериалы — он не выводится нигде. Вдобавок получил ошибку апача, что-то перемудрил по-ходу))
Василий Наумкин
10 октября 2012, 22:23
0
Вкладочку «Категории» у товара не трогали, случаем?

Если там у всех категорий стоит «Нет», то попробуйте заменить вызов msGetResources на getResources — проблема остается? Если да — вопрос не в miniShop.

Александр Бехер
10 октября 2012, 22:18
0
При добавлении товара он отображается во всех категориях и подкатегориях, как сделать так чтобы он отображался в конкретной? Например: Стройматериалы -> Кирпичи -> товар1 (сейчас отображается во всех категориях)
вывод товаров в категориях реализован так:
 [[!getPage?
    &element=`msGetResources`
    &tpl=`aCategoryRow`
    &limit=`9`
	&tplFirst=`aCategoryFirst`
	&tpl_4=`aCategoryFirst`
	&tpl_7=`aCategoryFirst`
    &sortbyMS=`price`
    &sortdir=`ASC`
  ]])
Василий Наумкин
10 октября 2012, 22:08
0
В сторону чтений документации, воин.

Мне совершенно неохота выпытывать, где выводится, каким сниппетом, или это в админке?
Вопрос задать не можете понятно — ответа не будет.
Лев Вербицкий
10 октября 2012, 19:50
0
Видимо придется пообщаться с тех-поддержкой хостинга…
Василий Наумкин
10 октября 2012, 19:47
0
Вам кто-то написал sleep(4) в index.php.

Пошутил, видимо.
Василий Наумкин
10 октября 2012, 19:37
0
*.vmdk — это образ VmWare. А VirtualBox с ним дружит.

ru.wikipedia.org/wiki/VMDK
Виталий Батушев
10 октября 2012, 19:19
0
Но это же для vbox-а! :)
Виталий Батушев
10 октября 2012, 19:11
0
Слова «у нас» без ссылки за информацию не считаются!
Dmytro Lukianenko
10 октября 2012, 17:40
0
Каждый вибирает для себя свой путь ) потому тут говорить что кто то не прав нет смысла
а вот за то что поделились своим способом спасибо )
Василий Наумкин
10 октября 2012, 17:38
0
$c->select('id,pagetitle') — одна строка, через запятую.

Покажутся все столбцы, так как это записано в модели, но реально выберутся данные только из указанных — остальные должны быть пусты.

Дальше да, prepareRow() и всех делов.
Иван Брежнев
10 октября 2012, 17:33
0
Но по кол-ву строк получилось так же как и в процедурном стиле.
А время отклика через «классный» процессов выше (т.к. там куча проверок и событий) чем через процедурный.
Иван Брежнев
10 октября 2012, 17:32
0
Получилось, нужно было переопределить в расширении класса две функции getData() и prepareRow(), т.к. первая функция возвращает объект, а вторая его ожидает. Изменил так чтобы getData() возвращала массив.
AratAratovich
10 октября 2012, 15:53
0
ясно, спасибо, попробую руками перетащить.
Василий Наумкин
10 октября 2012, 15:46
0
Без обид, но вот лично я с Evolution не работаю уже давно и единственное, что могу посоветовать — переходите на Revo.

Это нужно по 2м причинам:
1. во время перехода вам придется пересобрать заново свой сайт, вы увидите слабые места и пофиксите. Ибо кривые скрипты оптимизация сервера не вылечит никак. Может, у вас там везде некэшированные сниппеты по 10 раз на странице вызывается?

2. все равно это нужно делать, ибо Evo совсем дряхленький, а современный сайт должен работать на современном движке — если вы планируете его развивать, конечно.

Переходить нужно не автоскриптами какими то, а терпеливо, ручками.