Виталий Серый

Виталий Серый

С нами с 17 января 2013; Место в рейтинге пользователей: #109
Виталий Серый
16 апреля 2015, 11:20
0
И мне, и мне нужна крышка.
Виталий Серый
15 апреля 2015, 20:32
0
Наблюдение. Если у категории есть подкатегории, то опции назначенные категории не наследуются подкатегориями.

Спасибо за работу, здорово получилось.

И пара мыслей. Например, тип опции мультиселект, если требуемой опции нет, то было бы удобно автоматом ее добавлять, как это делается у цвета\размера.
Создание опции в категории на лету.
Виталий Серый
15 апреля 2015, 18:41
0
Исправляюсь.
1 500,00 руб.
14.02.2015 19:11
Виталий Серый
14 апреля 2015, 13:43
+4
Меня тоже подписывайте.
Тикетс очень нравится + сам менял по потребностям и собирался дорабатывать как раз в указанном направлении.
Готов уверенно выделить 2,5К рублей.
Виталий Серый
30 марта 2015, 16:06
1
0
Я немного другим путем пошел. Немного модифицировал сниппет getTickets, обозвал его чуть иначе.
После 164 строки добавил следующий код:
if (!empty($getFiles)) {
    $data['files'] = $content = '';
    $k = $row['file.0.url'] = 0;
    if (!empty($unusedFiles) && !empty($row['content'])) {
        $content = $row['content'];
    }
    
    $where = array('deleted' => 0, 'class' => 'Ticket', 'parent' => $row['id'], 'type' => 'image');
    $q = $this->xpdo->newQuery('TicketFile', $where);
    $q->select('url');
    $q->sortby('rank ASC, createdon', 'ASC');
    if ($q->prepare() && $q->stmt->execute()) {
        $imgs = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
        foreach ($imgs as $k => $img) {
            if ($content && strpos($content, $img) !== false || $k != 0) {
                continue;
            }
            $row['file.'.$k.'.url'] = $img;
            $k++;
        }
    }
    $row['has_files'] = !empty($row['file.0.url']);
}
Включается с &getFiles=`1`. Первое изображение в плейсхолдере [[+file.0.url]].

Так же сам Tickets модифицированный (добавлена возможность сортировки), т.ч. если не запустится надо стереть «rank ASC, „
Виталий Серый
29 марта 2015, 13:44
0
И при просмотре ресурса на фронте ты сидишь в админке?
Виталий Серый
27 марта 2015, 22:44
0
Не знаю зачем такое нужно, однако с точки зрения реализации и демонстрации работы раздела с 2700 страниц, весьма интересно. Так же занимательно было бы поиграться с автоматической подгрузкой новых комментов, например, раз в 10 секунд и rss трансляцией.
Виталий Серый
19 марта 2015, 01:58
+3
Лучше ограничить необходимость и использовать поле описания шаблона.
Виталий Серый
17 марта 2015, 11:10
+1
К счастью нет такой необходимости, удаленных товаров практически нет, да и вряд ли это как-то изменило бы ситуацию. Но ради интереса проверил, действительно остаются записи на исходные изображения.
Виталий Серый
17 марта 2015, 11:03
1
+1
В принципе не проблема отключить — с прямыми руками нужный порядок сохраняется.
Но все равно притронулся к функции сортировки. Через итератор вроде неплохо работает.
public function rankProductImages() {
	$q = $this->xpdo->newQuery('msProductFile', array('product_id' => $this->get('id'), 'parent' => 0, 'type' => 'image'));
	$q->select('id');
	$q->sortby('rank ASC, createdon', 'ASC');
	if ($q->prepare() && $q->stmt->execute()) {
		$ids = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
		foreach ($ids as $k => $id) {
			foreach ($this->xpdo->getIterator('msProductFile', array('parent' => $id, 'type' => 'image')) as $thumb) {$thumb->set('rank',$k); $thumb->save();}
		}
	}
}
Большое спасибо за помощь.
Виталий Серый
20 февраля 2015, 21:41
+1
if($modx->user->hasSessionContext('web')){
//пользователь авторизован
}
Виталий Серый
14 февраля 2015, 19:16
+1
Здорово что разделили по срокам и платежам.
Виталий Серый
13 февраля 2015, 01:11
0
Вроде как параметры allowedFields и allowedExtendedFields для этого и существуют.
Виталий Серый
27 января 2015, 00:57
0
pdoTools с включенным собственным парсером умеет это из коробки, очень удобно.
docs.modx.pro/components/pdotools/parser
Виталий Серый
06 января 2015, 08:12
0
Да, твоя правда, лучше перестраховаться. По своему опыту — вообще все что связано с работой с пользователями лучше вызывать некешированным.
Виталий Серый
05 января 2015, 21:24
1
+2
[[*createdby:is=`[[+modx.user.id]]`:then=`<a href="[[~id_документа_с_TicketForm?tid=`[[*id]]`]]">Редактировать</a>`]]
Виталий Серый
30 декабря 2014, 13:41
0
Кому надо тот и сам сделает. А в админке делать интерфейс хоть и полезно, но тот еще изврат, причем на любителя.