Проблема с URL-ами новостей

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 19 сентября 2023 в 14:06

Прошу помощи. Установил пустую CMS, создал собственный шаблон. При добавлении новостей получил страницу с их списком и URL-ами вида /news/[id]-slug.html

Но при переходе по ссылке происходит вот что:

Новость открывается, но при этом не загружаются картинки и файлы CSS и JS шаблона. В исходном коде все ссылки на эти файлы получают вид /news/images/favicon.ico вместо/images/favicon.ico

Другими словами, в начале ссылки ссылки откуда-то берется имя компонента (/news) и подставляется перед реальным путем к файлу.

Что делаю не так?

#2 19 сентября 2023 в 14:14

А как вы в своем шаблоне выводите картинки, подключение скриптов и т. п.?

Добавлено спустя 2 минуты

Что у вас в файле system\config\config.php прописано в 'root', 'host', 'upload_root', 'upload_host'?

 
#3 19 сентября 2023 в 14:26

Что у вас в файле system\config\config.php прописано в 'root', 'host', 'upload_root', 'upload_host'?

 
Loadырь

Проблема наверняка в конфиг файле. Адрес сайта указан некорректно.

#4 19 сентября 2023 в 14:40

Это происходит и на локальном компьютере, и на реальном сервере.

Добавлено спустя 7 минут

А как вы в своем шаблоне выводите картинки, подключение скриптов и т. п.?

Что у вас в файле system\config\config.php прописано в 'root', 'host', 'upload_root', 'upload_host'?

 
Loadырь

В шаблоне вывожу так: <link href="<?php echo «templates/{$this->name}/css/style.css»; ?>" rel=«stylesheet» />    или <link rel=«icon» type=«image/x-icon» href=«images/favicon/favicon.ico» />

На странице новости изображения типа так: <img src='images/news/2023/09/file1.jpg" />

«Страницы» работают корректно. Все материалы отображаются по URL вида: /[slug].html

#5 19 сентября 2023 в 15:08

В шаблоне вывожу так: <link href="<?php echo «templates/{$this->name}/css/style.css»; ?>" rel=«stylesheet» />

BIgor

И получаете то, как выводите. Это неправильно.

Посмотрите документацию.

#6 19 сентября 2023 в 16:10

Ok, я поменял все подключения CSS-файлов на вид: <?php $this->insertCSS(«templates/{$this->name}/css/style.css»); ?>

Чудо произошло, на странице материала новости все CSS-файлы заработали. Думаю, с JS тоже все будет хорошо.

НО

В самом материале новости и в виджетах все равно все изображения получили /news перед реальным путем от корня сайта. И не видятся.

Добавлено спустя 6 минут

При этом компонент «Страницы» работает корректно. Список новостей — тоже.

Полпробовал создать еще тип контента. И вдруг получил то же самое. /[компонент] перед путем к файлу на страницах материалов.

Выходит, есть система, что-то заставляет подставлять это название типа контента?

#7 20 сентября 2023 в 13:20

Изображение

#8 22 сентября 2023 в 18:34

Помогло!
Как я понял, проблема в шаблоне. Создавал свой файл main.tpl.php

Но в чем именно, так и не разобрался.

#9 3 октября 2023 в 08:38

Проблему решил тем, что в основном файле шаблона использовал не относительные, а абсолютные ссылки.

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.