Страница 1 из 1

Ссылка на фото в поле аякс запрос

Добавлено: 18 ноя 2021, 17:52
timbios
Добрый вечер, коллеги!

Столкнулся с забавной проблемой. Заметил только когда начал пользоваться системой с аккаунтов нескольких пользователей.

Имеется следующий код, который выводит в аякс поле фотографию товара и также сохраняет в него ссылку на фото для вывода в списке и на странице записи.

Код: Выделить всё

$value = '';
$choices_id = [374]; //Получаем ID выбранного элемента из списка

$item_query = db_query("select field_345 as value, parent_item_id from app_entity_31 where id={$choices_id}");
if($item = db_fetch_array($item_query)) {
  if ($item['value'] != NULL) {
  $value = '<img width="150" src=' . url_for('items/info&path=35-' . $item['parent_item_id'] . '/31-' . $choices_id . '&&action=download_attachment&preview=small&file=' . urlencode(base64_encode($item['value']))) . '>';
  } else {
    $value = "у товара нет фото";
  }
}

echo $value;
$form_field_value = $value;
В итоге, когда я захожу под одним пользователем и сохраняю запись, ему отображается фото.
Когда под другим - фото битое. Его не показывает.

В чем проблема, можете подсказать?

Re: Ссылка на фото в поле аякс запрос

Добавлено: 19 ноя 2021, 12:38
support
В параметре path укажите только 31 Если указана ID записи то будет проверятся доступ к записи.

Re: Ссылка на фото в поле аякс запрос

Добавлено: 19 ноя 2021, 13:23
timbios
support писал(а): 19 ноя 2021, 12:38 В параметре path укажите только 31 Если указана ID записи то будет проверятся доступ к записи.

Код: Выделить всё

$value = '';
$choices_id = [374]; //Получаем ID выбранного элемента из списка

$item_query = db_query("select field_345 as value, parent_item_id from app_entity_31 where id={$choices_id}");
if($item = db_fetch_array($item_query)) {
  if ($item['value'] != NULL) {
  $value = '<img width="150" src=' . url_for('items/info&path=35-' . $item['parent_item_id'] . '/31&&action=download_attachment&preview=small&file=' . urlencode(base64_encode($item['value']))) . '>';
  } else {
    $value = "у товара нет фото";
  }
}
Часть ссылки была

Код: Выделить всё

'/31-' . $choices_id . '&&action=download_attachment&preview=small&file='
Убрал из неё часть

Код: Выделить всё

-' . $choices_id . '
Получаем

Код: Выделить всё

'/31&&action=download_attachment&preview=small&file='
Верно?

Re: Ссылка на фото в поле аякс запрос

Добавлено: 25 ноя 2021, 11:37
timbios
support писал(а): 19 ноя 2021, 12:38 В параметре path укажите только 31 Если указана ID записи то будет проверятся доступ к записи.
изменил ссылку. стала вида:
site.com/index.php?module=items/info&path=31&&action=download_attachment&preview=small&file=MTYzNTQyODAxMF9xdDB5YW5xazFnbGxndXJuYjdyamhrNm1tY2Jjay5qcGc%3D&token=iMhUytXvMB

Код:

Код: Выделить всё

$value = '';
$choices_id = [374]; //Получаем ID выбранного элемента из списка

$item_query = db_query("select field_345 as value, parent_item_id from app_entity_31 where id={$choices_id}");
if($item = db_fetch_array($item_query)) {
  if ($item['value'] != NULL) {
  $value = '<img width="150" src=' . url_for('items/info&path=31&&action=download_attachment&preview=small&file=' . urlencode(base64_encode($item['value']))) . '>';
  } else {
    $value = "у товара нет фото";
  }
}

echo $value;
$form_field_value = $value;

Проблема по прежнему не решена. Фото у одного пользователя доступно - у другого нет.

Re: Ссылка на фото в поле аякс запрос

Добавлено: 01 дек 2021, 11:45
support
Посмотрите пример тут https://docs.rukovoditel.net.ru/index.p ... zobrazenie