Всего 125 335 комментариев

Роман
07 января 2023, 11:53
0
Пока получилось только через сниппет, но все равно криво
Сниппет такой
$path = $_SERVER['DOCUMENT_ROOT'].$input;
if (file_exists($path)) {              
    echo $path. ' файл есть';
} else {
    echo $path. ' файла нет';
}
Но если поле TV с рисунком пусто $input понятно пуста, то он возвращает ФАЙЛ ЕСТЬ потому что $_SERVER['DOCUMENT_ROOT'] путь возвращает :( задолбался
Роман
07 января 2023, 11:45
0
Да спасибо, это уже понял, погуглил как работает file_exist но не пойму как указать путь от корня сервера в этой конструкции? if(file_exists($el.id | resource: 'photo'))
Oleg
07 января 2023, 11:44
0
5 В созданном боте ввожу /login_username_password, выдает «Ошибка входа». После ввожу /status. На сайте нажимаю «Начать чат» и все работает. Магия
Alexey
07 января 2023, 11:36
0
Если картинки лежат на этом же сервере, то нужно указывать путь от корня сервера, а не http. А если файлы лежат в удалённом хранилище, то file_exists в этом случае не работает — www.nomostech.it/2022/02/20/checking-if-a-file-exists-on-a-remote-server-with-php/
Роман
07 января 2023, 11:16
0
Хотя, думаю проблема в другом, написал сниппет простой

<?php
//$protocol = (!empty($_SERVER['HTTPS']) && 'off' !== strtolower($_SERVER['HTTPS'])?"https://":"http://");
//return $protocol. $_SERVER["SERVER_NAME"];

$path = $input;
//$path = 'http://'.$_SERVER["SERVER_NAME"].$input;
if (file_exists($path)) {              
    echo $path. ' файл есть';
} else {
    echo $path. ' файла нет';
}
Выводит всегда файла нет почему то, даже если такой путь /assets/theme/media/images/tour/img-20221023-140026.jpg или полный с http скормить, все равно файла нет :( не понимаю почему он не видит файлы? Если скопировать url в браузер то фото открывается легко.
Oleg
07 января 2023, 11:07
0
Пишете, что разобрались. Трудно написать, что именно делали?
Роман
07 января 2023, 11:00
0
Спасибо, а как это использовать в шаблоне на fenom?

Так не работает, ошибка {if(file_exists($el.id | resource: 'photo'))}1{else}2{/if}. Добавил пробел после if так ошибки нет {if (file_exists($el.id | resource: 'photo'))}1{else}2{/if} но не работает конструкция, всегда 2 выводит, типа файл есть всегда.
Oleg
07 января 2023, 10:33
0
Приветствую. Где именно нужно назначить права?
Роман
06 января 2023, 20:48
0
Да спасибо! Пока сделал с плагином, по номеру шаблона добавляю просто id к alias через дефис, TV с датой пока решил не делать, там массив JSON и нужно только первую запись взять, в общем придется попыхтеть на php а я не так силен в нем.
brioni
06 января 2023, 20:31
0
Такая же хрень. Только понижение версии php до 7.0 спасает
Alexey
06 января 2023, 20:19
1
+1
Привет!

rtfm.modx.com/current/ru/extending-modx/plugins/system-events/ondocformsave

Плагин на это событие не подойдёт?
Alex
06 января 2023, 19:28
0
подскажи пожалуйста, есть два снипета — как проверить их скорость работы на выдачу результата?
Алексей Смирнов
06 января 2023, 19:05
+1
А что тут велосепедить? Просто вырезайте с помощью функции домен и добавляйте нормальный путь как я показал… И получится серверный путь который и нужен.
Алексей Смирнов
06 января 2023, 19:03
0
Вам нужно по сути работать с where параметром msProduct. Сформировать нужные данные.
Но учитывая что вы сегодня только начали вникать, вам нужно поднять много данных.
Тут как бы читать доки для начала и понять что такое сниппет как передавать данные с тв-шек как формировать для сниппетов where с полями из бд…
Дока в верху сайта есть — ссылка. Смотрите пакеты минишопа и pdoTools.
Alex
06 января 2023, 17:10
0
Я понял причину- почему не работает. У меня абсолютные пути к файлу (Под Бабел, много контекстов — пришлось сделать). Теперь путь к файлу идет
https: // 4444444444s.com/assets/images/demobg.jpg

если прописать "/assets/images/demobg.jpg"
все работает.
в таблице modx_site_tmplvar_contentvalues — тоже все прописано через "/assets/images/demobg.jpg"

Теперь снова думать как велосипед делать)))
Владислав
06 января 2023, 16:46
0
Я находил Вашу запись, но в конце Вы написали, что можно просто использовать miniShop2 и понял, что у меня он и так есть на сайте, посмотрите, что я выше ответил Михаилу, может Вы скажете поможет в данной задаче Ваш способ или нет.
Владислав
06 января 2023, 16:09
0
Извините, за формулировку, я еще только стажер.
Контекст таков, что есть интернет магазин и там есть miniShop2, есть каталог и много категорий: подушки, пледы и тд.
Задача состоит в том, что на главной странице есть 2 баннера, на одном написано скидки на другом распродажа и нужно чтобы по клику по одному из баннером выводилась соответствующая категория, т.е. товары с флажком sale(распродажа) или discount(акция). Понимаю что задача совсем легкая, но в силу того, что первый раз работаю с modx не получается реализовать. Мне посоветовали сделать это через мульти категорию, но информации я нашел мало об этом и не до конца понял как это работает, поэтому решил сюда написать.
Может Вы подскажите оптимальное решение?
Алексей Смирнов
06 января 2023, 14:45
0
Плохо искали. вот решение для ТВ
modx.pro/solutions/23005
Алексей Смирнов
06 января 2023, 14:43
1
+1
О, вот теперь по этому выводу понятно чего вы хотите достигнуть:
<img src="[[*imagetv]]" width="[[*imagetv:imgsize=`w`]]" height="[[*imagetv:imgsize=`h`]]" />
Смотрите.
снипет получает данные в $input
плюс к тому в функцию getimagesize должен приходить полный путь картинки.
поэтому я бы сделал так:
$img = MODX_BASE_PATH . $input;
list ($width, $height, $type, $attr) = getimagesize($img);
switch ($options) {
    case 'w' :
        return $width;
        break;
    case 'h' :
        return $height;
        break;
    default :
        return '';
        break;
}