Здравствуйте гуру модиксеры. Вынужден обратиться за помощью в силу того, что не очень разбираюсь в ExtJS. Делаю сейчас Компонент «Афиша». Там есть 2 вкладки Афиши и Компании: ? Возникли следующие сложности. Распишу по пунктам: 1. Как видно на скриншоте при нажатии на поле Скрытое меню появляются варианты «Да» и «Нет». В базу сохраняется 1 или 2. Но можно ли как-нибудь в поле сохранять Да или Нет? А то после сохранения вот что появляется: ? А после обновления страницы эти поля пустые становятся. 2. Как сделать, чтобы в поле Изображение, создавалась маленькая превьюшка, скажем 50 на 50: ? А при нажатии на неё раскрывалось большое, но обрезанное изображение. 3. Как на второй вкладке вывести таблицу из базы с компаниями и убрать вторую форму с поиском? ? 4. И как сделать у Афиш выпадающее меню со списком скажем клубов, чтобы привязка была и афиши выводились в карточке компании например? ?
В базу сохраняется 1 или 2. Но можно ли как-нибудь в поле сохранять Да или Нет? А то после сохранения вот что появляется: В базу сохраняется как раз то, что нужно. Просто на колонку надо навешать renderer, типа так: renderer: function(value){ return value == 1 ? "Да" : "Нет"; }
Вроде разобрался: ,renderer: function(value){ return '<a href="/' + value + '"><img width="50" src="/' + value + '"></a>'; } А как мне большое изображение во всплывающем окне вывести? Есть какие-нибудь классы уникальные для этого?
Не знаю универсального класса, но никто не запрещает свое что-то прикрутить.
Даже Fancybox? Мне кажется и в ExtJS есть какие-нибудь всплывающие окна, но по примерам не разберусь какой мне нужен.
Точный рецепт не дам, так как я больше бэк-энд программист, но все делается.
Не знаю где спросить… Не подскажите как сделать поиск по товарам чтобы выводилось через fetch, может где готовый компонент есть =)?
Вообще проще всего использовать процессор web/resources/getdata. Но если у вас задача перебрать большое количество товаров, то да, надо запрос делать на чистом xPDO. Но надо для этого четко понимать что есть что. ShopmodxResourceProduct — производный от modResource класс документа товара. ShopmodxProduct — дополнительный класс товара. По сути, чтобы получить только товары, надо в запросе таблицы этих объектов объединить джоином. Вот пример выборки: $q = $modx->newQuery('modResource'); $q->innerJoin('ShopmodxProduct', 'Product'); $q->where(array( "deleted" => 0, "published" => 1, )); $q->select(array( "modResource.*", )); $s = $q->prepare(); $s->execute(); while($row = $s->fetch(PDO::FETCH_ASSOC)){ // Ваш код }
А там уже можете добавить условия поиска. К примеру, хотите в условие добавить товары в ценовой вилке 100 — 5000 рублей. Добавляете условие: $q->where(array( "Product.sm_price between 100 and 5000", )); или $q->where(array( "sm_price:>=" => 100, "sm_price:<" => 5000, ));