Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Относительный адрес ссылок на изображения в новостях

Относительный адрес ссылок на изображения в новостях


     15.10.2013    Все вопросы » Хаки    2759

вопрос
Здравствуйте. Проблема такова:
Нужно сделать относительную адресацию изображений в кратких/полных новостях.

Относительный адрес ссылок на изображения в новостях


В PHP не силён, так что не особо понимаю как его редактировать. Догадываюсь только, что нужно подправить файл загрузки изображений при добавлении новости. Поправте меня, если я не прав.

Заранее благодарю за помощь.

Ответа пока нет


11 комментариев

ПафНутиЙ
Админ

ПафНутиЙ - 15 октября 2013 19:37 -

поиск и замена по базе данных вам помогут в этом.

Каков вопрос - таков и ответ. Просто помните об этом.

podvyg
Юзер

podvyg - 15 октября 2013 19:38 -

Я только пишу сайт. База пока пуста. Мне нужно что бы, на будущее, автоматом удалялся адрес домашней страницы в ссылке на фото.

ПафНутиЙ
Админ

ПафНутиЙ - 15 октября 2013 19:45 -

зачем?

Каков вопрос - таков и ответ. Просто помните об этом.

podvyg
Юзер

podvyg - 15 октября 2013 19:46 -

Потому что сначала сайт будет на одном домене, а потом на другом.

ПафНутиЙ
Админ

ПафНутиЙ - 15 октября 2013 20:24 -

см. мой первый комментарий.
К тому же как вы думаете что будет в rss канале сайта?

Каков вопрос - таков и ответ. Просто помните об этом.

podvyg
Юзер

podvyg - 15 октября 2013 20:26 -

Ладно, спасибо за помощь.

dj-avtosh
PHP-developer

dj-avtosh - 16 октября 2013 05:15 -

Файл /engine/classes/parse.class.php

Строчка 1178:

Найти:

            if( $align != "" ) return "[img=" . $align . "]" . $url . "[/img]";
            else return "[img]" . $url . "[/img]";



Выше вставить:

( FALSE !== strpos ( $url, $_SERVER['HTTP_HOST'] ) ) ? $url = str_replace ( 'http://' . $_SERVER['HTTP_HOST'], '', $url ) : FALSE;



Найти ( строка 1240 )

if( ! $align and ! $alt ) return "[img]" . $url . "[/img]";


Выше вставить:

( FALSE !== strpos ( $url, $_SERVER['HTTP_HOST'] ) ) ? $url = str_replace ( 'http://' . $_SERVER['HTTP_HOST'], '', $url ) : FALSE;



Найти ( строка 1522 )

if( ! $align and ! $alt ) return "[img]" . $img . "[/img]";


Выше вставить:

( FALSE !== strpos ( $img, $_SERVER['HTTP_HOST'] ) ) ? $img = str_replace ( 'http://' . $_SERVER['HTTP_HOST'], '', $img ) : FALSE;

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

coolteams
Юзер

coolteams - 16 октября 2013 22:34 -

)) сайт будет сначала на одном домене а потом на другом. Типа это решит проблему, полюбому придется сливать базу и полюбому домен переписывать по всей базе в notepad++ придется.
и еще config.php, dbconfig.php, robots.txt, возможно .htaccess (если стоит склейка).точка. sitemap.xml - таким же макаром.

podvyg
Юзер

podvyg - 16 октября 2013 22:48 -

coolteams, если будет стоять относительный путь, то DLE должен сам подставить доменное имя. Идея заключается в том, что бы не переписывать БД, а решить всё на уровне движка.

В DLE "/index.php", "sitename.com" и "sitename.com/index.php" ведут на одну и ту же страницу. Что мешает подобное сделать с ссылками на изображения? Ведь в CSS мы пишем "../images/name.png", в шаблоне "{THEME}/images/name.png", и им глубоко до лампочки как домен называется, они не привязаны к имени. Аналогичное требуется и в новостях. База одна, а домены разные. Если домен с именем sitename1.com будет недоступен, то изображения с него залитые будут недоступны по sitename2.com, то есть, если картинка залита с sitename1.com, то ссылка имеет вид "sitename1.com/upload/....", если же с sitename2.com, то "sitename2.com/upload/....". А это разные адреса, и на сайте будет пустое место. Задача - исправить это. Что бы sitename.com вообще не было в ссылке на изображение.

Может я немного не понятно изъяснил свою задачу, но всё-таки, спасибо всем что отозвались.

coolteams
Юзер

coolteams - 16 октября 2013 22:54 -

ок, если найдете решение - незабудьте тока потом на всякий случай всеравно руками открыть базу в нотпаде и заменить домен в таблице
INSERT INTO `dle_email` VALUES
и вооще, это (замена домена) делается 2 секунды в нотпаде, не понимаю зачем искать трудности, если базу придется сливать полюбому.

podvyg
Юзер

podvyg - 16 октября 2013 22:56 -

Хорошо, спасибо.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх