Вопросы

Вопрос касаемо блога

Уважаемые форумчане, возник очередной вопрос касаемо создания блога. Вернее публикации статей.

Сейчас работаю на Tickets — почти все устраивает.
Однако есть одна загвоздка
Во-первых — при публикации статьи, если я хочу вставить изображение, я должен его загрузить на хостинг, соответственно должен ему придумать определенное название, что не совсем удобно.
Можно ли как-то осуществлять загрузку, чтобы он сам рандомно создавал хэш наименование изображению?

И второй вопрос так же касаемо изображений.
Картинку так же приходится обрезать в фотошопе для наилучшей оптимизации статьи. К примеру размер контента у меня 800 пикселей. Если я ставлю в параметрах при загрузке изображения ширину 800, то он просто тупо проставляет width=«800», а хотелось бы чтобы обрезал при загрузке.

Буду премного благодарен за ответы!
Андрей
27 мая 2018, 13:01
modx.pro
901
0

Не срабатывает сравнение

пишу вот так, но не работает сравнение

{'!GetComparison' | snippet : ['list' => $parent | resource : 'idcategory']}
а если так
[[!GetComparison]]
то все работает
Максим
27 мая 2018, 07:29
modx.pro
871
0

[РЕШЕНО] Swift + ms2Gallery - ошибка ресайза на Селектел

Здравствуйте.

Установил ms2gallery + Swift.

Если использовать «обычное» TV-поле изображения, то Swift сам по себе работает, заливает на Селектел и показывает как нужно.

На вкладке галереи ms2gallery изображения вроде как заливаются (прогресс заливки доходит до 100%), но не отображаются, а в логах происходит следующее:

[2018-05-27 05:57:24] (ERROR @ /***/www/wop_modx/core/components/swift/model/swift/swiftmediasource.class.php : 723) [SwiftMediaSource] Could not rename file "7/7%2F1200x628.png": 7%2F7%252F1200x628.png could not be found. The API returned this HTTP response:

HTTP/1.1 404 Not Found
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: X-Backend-Timestamp, Etag, Last-Modified, X-Object-Manifest, X-Timestamp
Cache-Control: no-cache, max-age=60
Content-Length: 70
Content-Type: text/html
Date: Sun, 27 May 2018 05:57:22 GMT

<html><h1>Not Found</h1><p>The resource could not be found.</p></html>
Судя по тексту ошибки, скрипт не может сгенерировать превьюшки на селектеле.

Азамат
27 мая 2018, 06:08
modx.pro
1 420
0

Как перенести неопубликованные ресурсы в другой каталог

Есть структура вида:

Мероприятия (id1)
— Мероприятие 3
— Мероприятие 4

Архив мероприятий (id2)
— Мероприятие 1
— Мероприятие 2

Как сейчас всё работает: для каждого мероприятия выставляется дата снятия с публикации, после снятия с публикации мероприятие руками перетягивается в каталог «Архив мероприятий (id2)» и публикуется (чтобы анонимы могли видеть мероприятия из архива).

Вопрос: как это автоматизировать? полагаю что через cron, но не имею понятия как это сделать. Прошу помощи!
Владимир
26 мая 2018, 21:03
modx.pro
969
0

Вопрос по тикетам на modx

Добрый день Уважаемые форумчане!
Возник вопрос касаемо работы Tickets.

К примеру у меня на сайте есть странички-контейнеры

Возьмем для примера один, который называется «Программы»

В нем вложен раздел тикетов под названием «Для ПК»
В разделе тикетов «Для пк» создаю тикет, к примеру «Программа 1»
В итоге переходим в раздел по пути site.ru/programmy/ далее нажимаем на раздел тикетов «Для ПК»
Открывает ошибку 404
А если в url адресе ввести site.ru/dlya-pk/ откроет раздел с тикетами.

Вопрос, как добиться следующего пути: site.ru/programmy/dlya-pk/programma-1.html?

Надеюсь понятно объяснил
Андрей
26 мая 2018, 16:29
modx.pro
926
0

И записывается и не записывается значение TV при сохранении ресурса.

Доброго времени суток!

Пишу, казалось бы, элементарный плагин, который при сохранении ресурса проверяет заполнено ли определённое TV-поле и в случае если оно не заполнено вставляет в него случайно сгенерированную строку. Но почему-то TV-поле после сохранения остаётся пустым
Евгений
26 мая 2018, 15:37
modx.pro
976
0

Навигация

Добрый день
<div class="pagination">
		<ul class="pagination" id="mse2_pagination">
	[[!+page.nav]]
		</ul>
	</div>
В чанке tpl.mFilter2.outer.custom.category не работает. НЕ выводит пагинацию.
Товаров на 2ю страницу точно есть
Как поймать откуда растут ноги и пофиксить?

Код вызова:

<div class="goods_item">
[[!mFilter2?
&parents = `[[*id]]`
&element = `msProducts`
&class=`msProduct`
&includeTVs=`new_year_discount,alternative_pagetitle`
&tvPrefix=``
&cache = `0`
&limit=`18`
&sort = `ms|article:asc`
	&tplPageWrapper = `@INLINE [[+prev]][[+pages]][[+next]]`
	&tpl = `tpl.msProducts.row.custom.recommended`
	&tplOuter = `tpl.mFilter2.outer.custom.category`
	&tplPagePrev = `@INLINE <li class="control"><a href="[[+href]]"><i class="fa fa-angle-left"></i>Предыдущая</a></li>`
&tplPagePrevEmpty = `@INLINE <li class="control"><i class="fa fa-angle-left"></i>Предыдущая</li>`
&tplPageNext = `@INLINE <li class="control"><a href="[[+href]]">Следующая <i class="fa fa-angle-right"></i></a></li>`
&tplPageNextEmpty = `@INLINE <li class="control">Следующая <i class="fa fa-angle-right"></i></li>`
]]
</div>
Алексей Галиев
26 мая 2018, 13:04
modx.pro
642
0

vk api wall.get

Борюсь с выводом со стены фото + текста. На просторах нашел пару скриптов, «доработал» под себя. Выводится на странице только одна новость… Параметр limit не срабатывает. Дайте пинок пенсионеру в нужном направлении )))
Сам сниппет:
<?php
$oid = $modx->getOption('oid',$scriptProperties,'0');
$limit=$modx->getOption('limit',$scriptProperties,'2');
$token = "токен";
$class = $modx->getOption('class',$scriptProperties,'');
$tpl = $modx->getOption('tpl',$scriptProperties,'');
// Получаем информацию, подставив все данные выше.
$api = file_get_contents("https://api.vk.com/api.php?oauth=1&method=wall.get&owner_id={$oid}&count={$limit}&v=5.58&access_token={$token}");
$wall = json_decode($api);
$wall = $wall->response->items;
$pdo = $modx->getService('pdoTools');
for ($i = 0; $i < count($wall); $i++) {
    $text = $wall[$i]->text;
    $header = mb_strimwidth($text,0, 50, "...");
    $time_head = date("Y", $wall[$i]->date);;
    $time = date("Y-m-d", $wall[$i]->date);
    $photo = $wall[$i]->attachments[0]->photo->photo_604;
    $res = array('text'=>$text, 'header'=>$header, 'time_head'=>$time_head, 'time'=>$time, 'photo'=>$photo);
    $res .= $pdo->getChunk($tpl, $res);
}
return $res;
Чанк tpl_vkNews с разметкой html кода и плейсхолдерами.

Вызов сниппета в шаблоне:
[[getVKwall?
		&oid=`id пользователя`
		&limit=`3`
		&tpl=`tpl_vkNews`
		]]
UPD Проблема решилась изменением вывода результата в сниппете (правильный вариант):
<?php
$oid = $modx->getOption('oid',$scriptProperties,'0');
$limit=$modx->getOption('limit',$scriptProperties,'2');
$token = "токен";
$class = $modx->getOption('class',$scriptProperties,'');
$tpl = $modx->getOption('tpl',$scriptProperties,'');
// Получаем информацию, подставив все данные выше.
$api = file_get_contents("https://api.vk.com/api.php?oauth=1&method=wall.get&owner_id={$oid}&count={$limit}&v=5.58&access_token={$token}");
$wall = json_decode($api);
$wall = $wall->response->items;
$pdo = $modx->getService('pdoTools');
for ($i = 0; $i < count($wall); $i++) {
    $text = $wall[$i]->text;
    $header = mb_strimwidth($text,0, 50, "...");
    $time_head = date("Y", $wall[$i]->date);;
    $time = date("Y-m-d", $wall[$i]->date);
    $photo = $wall[$i]->attachments[0]->photo->photo_604;
    $res .= $pdo->getChunk($tpl, array('text'=>$text, 'header'=>$header, 'time_head'=>$time_head, 'time'=>$time, 'photo'=>$photo));
}
return $res;
Но, замечания приветствуются.
Ol
Ol
26 мая 2018, 09:29
modx.pro
2 351
+1

Форма обратной связи, поле select

Есть select в форме:
<select name="yacht_type">
		<option value="Тип яхты">Тип яхты</option>
		<option value="моторная">моторная</option>
		<option value="парусная">парусная</option>
		<option value="моторный парусник">моторный парусник</option>
	</select>
Данные на почту приходят, но если после отправки формы перезагрузить страницу, выводится alert «Подтвердите повторную отправку формы».
При этом модальное окно с успешной отправкой исчезает буквально через секунду(обычно оно держится на экране несколько секунд)и в консоль лезут ошибки.
Обратил внимание, что если для select убрать name, ошибок нет, но и данные на почту перестают приходить.
В чем может быть проблема?
Адрес страницы:
new.atmjet.ru/yachts/
Виноградов Тимур
25 мая 2018, 21:34
modx.pro
1 091
+1

Получение связей товаров

Всем привет!
Подскажите как получить товары со связями установленными для них? Пробую в вызов сниппета msProducts добавить их через leftJoin, но получаю только одну запись из таблицы связей. А нужно получить все и потом сгруппировать по полю link.
Вызов сниппета:
{'!msProducts' | snippet : [
    'parents' => '0',
    'resources' => '19',
    'leftJoin' => '{"Link":{"class":"msProductLink","on":"Link.master = msProduct.id"}}',
    'select' => '{"Link":"Link.link as links"}',
    'showLog' => '1',
    'tpl' => ''
]}
Документацию pdoFetch видел, читал, вникал, но походу как-то не так вник! Там Василий показывает пример получения ресурса с изображениями. Вродь как все то же делаю, но получаю только одну запись. В чем подвох?
Может в самой моделе?
Максим
25 мая 2018, 17:40
modx.pro
1 074
0