Перейти к публикации

Проблема с attachment


Рекомендованные сообщения

После перестроения публикаций все файлы вместо ссылок "https://site.ru/index.php?do=download&id=1345" имеют вид "https://site.ru/catalog/[attachment=1:file.rar]" и выдает ошибку Not Found. 

Или же если в файле attachment.tpl оставить стандартный шаблон, то вместо моей кнопки "скачать" и ссылки на файл attachment.tpl выводит просто текст [attachment=1:file.rar].


Загрузка файла осуществляется через дополнительно поле.
В чем может быть причина? Версия DLE последняя.

Изменено пользователем Tekzo17
Ссылка на сообщение
Поделиться на других сайтах

Так же в БД в таблице dle_post данные доп.поля после перестроения публикация изменяются с [attachment=1:file.rar] на [attachment=1:file.rar]

После очередного сохранения новости (не загружая файл заново), все вновь начинает работать. Файлы грузятся.

В общем, проблема именно с перестроением публикаций.

Изменено пользователем Tekzo17
Ссылка на сообщение
Поделиться на других сайтах

Проверил на чистом DLE, без правок, на другой базе данных на своем локальном сервере.
После перестроения публикация та же ошибка.

 

sD99ZF42ebg.jpg

 

В версии 13.3 такой проблемы нет. После перестроение публикации все на месте.

Изменено пользователем Tekzo17
Ссылка на сообщение
Поделиться на других сайтах

Так и никто не ответил по этой теме, но нашел проблему.
В rebuild.php строка:

$newpostedxfields[$value[0]] = str_replace( array("{", "[", ":"), array("{", "[", ":"), $newpostedxfields[$value[0]] );

После перестроение публикации она портит attachment. Если удалить строку то все станет нормально, но уже не будут перестраиваться доп поля с включенными спец.символами, что очевидно.

 

Ссылка на сообщение
Поделиться на других сайтах

Это ошибка в скрипте. Для ее исправления вам нужно открыть файл engine/ajax/rebuild.php найти в нем строчку
 

$newpostedxfields[$value[0]] = str_replace( array("{", "[", ":"), array("{", "[", ":"), $newpostedxfields[$value[0]] );


и ниже нее добавить
 

if($value[3] == "file") {

	$newpostedxfields[$value[0]] = str_replace( array("[", ":"), array("[", ":"), $newpostedxfields[$value[0]] );

	if (strpos ( $newpostedxfields[$value[0]], "[attachment=" ) === false) $newpostedxfields[$value[0]] = "";

}


После чего опять запустите перестроение в админпанели. Это устранит вашу проблему

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...