Автор Тема: Размещение Картинок На Новых Страницах Cms  (Прочитано 2190 раз)

27 Февраль 2013, 19:38:08
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ситуация:

Тестирую два сайта. Хостинг – один и тот же.
CMS – Presta 1.5.3.1 – одинаковая.
Оформление (тема/шаблон) – (почти) одинаковое.
Добавляю на обоих сайтах новые страницы категории home и вставляю изображения.
Изображения – одинаковые, находятся в одних и тех же папках, путь к ним прописан одинаково.
При редактировании страниц в административной части обоих магазинов картинки видны (в поле редактирования текста).

В пользовательской части на первом сайте картинки на страницах видны. На втором сайте – не видны (подписи к картинкам, однако, отображаются: это доказательство, что в прописывании пути к изображениям ошибок нет).

Есть отличия в том, что написано в адресной строке. На сайте, где видны картинки, адресные строки новых страниц такого вида:
domain.ru/index.php?id_cms=1&controller=cms
domain.ru/index.php?id_cms=2&controller=cms
domain.ru/index.php?id_cms=3&controller=cms …

На сайте, где картинки не видны (а только подписи к ним), адресные строки такие:
domain.ru/content/1-ldelivery
domain.ru/content/2-payment
domain.ru/content/3-garant …

Вопросы:

    1. В каких файлах поискать различия?
    2. Где (в каких папках/файлах) по умолчанию находятся описания страниц cms?
    3. Из-за каких моих действий адресные строки прописываются по-разному?


Заранее всем спасибо за подсказки!

Просьбы:

   1. Не тратьте Ваше драгоценное время на вопросы типа «Зачем тебе это надо?». Спрашиваю – значит, надо.
   2.  Не направляйте меня в «modules/cms». Файлы в этой папке описывают появляющийся в левом (или, по желанию, правом) столбце блок со словом «Информация». И на сайте, где картинки видны, они остаются видны даже при отключении этого модуля.
   3.  Если Вы настаиваете, что решение вопроса можно найти через «modules/cms», то укажите название конкретного файла, расположенного в конкретных папках/подпапках.

27 Февраль 2013, 21:55:03
Ответ #1
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
Разница, по описанию, только в url. В одном случае чпу включен, в другом нет.
Нужно проверить ЧПУ.
Если чпу включен и настроен на 2-х сайтах, то остается разница в шаблонах.
Как написано, темы отличаются.
Отличия могут быть только в модуле blockcms. Если на обоих сайтах страницы создаются в:
Панель администратора > Настройка > Страницы
а не доп.модуле, например, Prestapress  и .д. Тогда можно попробывать заменить полностью модуль. Перенести модуль blockcms с рабочего варианта.



27 Февраль 2013, 22:02:35
Ответ #2
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо, Виктор,

Ваш ответ появился одновременно с моим редактированием. Все три вопроса снимаются: ответы найдены.

Возник новый вопрос: это обязательно, чтобы картинки были видны только при "абракадабре" в адресной строке, и чтобы были НЕвидны при дружественных URL?

Есть ли какая-нибудь возможность сделать так, чтобы и картинки были видны, и адресная строка была красивой?

Спасибо заранее.
27 Февраль 2013, 22:11:13
Ответ #3
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
Изображения должны работать c ЧПУ.
Нужно проверить правила в
Панель администратора > Настройка > SEO и URL > Схема URL
и в htaccess
# Images
RewriteCond %{HTTP_HOST} ^site$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^site$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^site$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^site$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^site$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^site$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteCond %{HTTP_HOST} ^site$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteCond %{HTTP_HOST} ^site$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteCond %{HTTP_HOST} ^site$
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^site$
RewriteRule ^c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
27 Февраль 2013, 22:34:08
Ответ #4
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо,

в .htaccess всё именно так.

В "Схеме URL" пусть к страницам CMS (где проблема с фото) у меня прописана так: content/{id}-{rewrite}

А как должно быть прописано?
27 Февраль 2013, 22:45:14
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
По умолчанию так:
Путь к странице CMS
content/{id}-{rewrite}Путь к категории CMS
content/category/{id}-{rewrite}
27 Февраль 2013, 22:47:02
Ответ #6
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
27 Февраль 2013, 22:49:16
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Посмотреть нужно какие адреса у картинок, где нет показа. Код страницы проверь.
Изображения перегенерируй.
27 Февраль 2013, 22:58:50
Ответ #8
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
При отключении ЧПУ картинки включаются. При включении ЧПУ - не видны.

Вы уверены, что для включённых и отключённых ЧПУ требуются различные адреса картинок?
27 Февраль 2013, 23:25:55
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
При включенном чпу адреса картинок преобразовываются.
Поэтому нужно посмотреть какой адрес у этих картинок. Может не правильно составлены правила преобразования.
Или попробывать всключить отладку, тогда ошибки должно показать.
27 Февраль 2013, 23:39:56
Ответ #10
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Что Вы называете "адресом картинки"? Прописывание пути до директории, в которой расположена картинка? Или отображённый в адресной строке адрес страницы, на которой выложена картинка? Или что-то совсем-совсем третье?

Если первое - то прописывание пути к картинке не меняется при включении/отключении ЧПУ. Если второе - то меняется не "адрес картинки", а адрес страницы (для этого ЧПУ и включают, чтобы адрес страницы изменился. Иначе зачем бы ЧПУ были нужны?).  И при включении ЧПУ текст на странице, название картинки, хлебные крошки - всё остаётся видимым. Следовательно, адрес к странице остаётся верным.

Ну а если что-то совсем-совсем третье, то, будьте добры, один пример:

скопируйте, пожалуйста, какой "адрес картинки" был до включения ЧПУ и каким он стал после включения ЧПУ?

Спасибо заранее.
28 Февраль 2013, 00:05:43
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Адрес это путь к картинке:
<img  src="url картинки">Но он не меняется от того, что чпу активировано или нет.
Проблема не в модуле смс, он здесь не причем. Картинок нет на самой странице. Это шаблон /themes/default/cms.tpl
Нужно проверить содержимое страницы, на которой не видно картинок.
В таблице ps_cms_lang проверьте для всех языков. В поле content должно быть тег img с url картинки.
Может при включенном чпу показывает другую языковую версию.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
28 Февраль 2013, 00:25:41
Ответ #12
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
О том, что путь к изображению не меняется, было написано выше. Если уважаемый coder имел в виду что-то другое, то просьба к нему остаётся в силе: скопируйте, пожалуйста, сюда, что было и что стало, если что-то изменилось при включении функции ЧПУ.

Уважаемый PrestaMan, название картинки (alt="") никуда не исчезает. И набранный текст тоже. И крошки остаются русскими. Может такое быть при переходе на другую языковую версию?..

И если мы загружаем картинки (не только для страниц cms, а во все другие места - и в категории, подкатегории, товары, слайдеры и прочая) через административную часть, то мы ведь хотим видеть эти картинки во всех языковых версиях? Это ведь не дело, если при переключении языка будут исчезать загруженные изображения.

Кончено, в таблице ps_cms_lang посмотрю, проверю. Но если бы при переключении языка исчезали картинки, то мы должны были бы загружать каждую картинку для каждого языка. Была бы чума полная.
28 Февраль 2013, 12:18:29
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Цитировать
И если мы загружаем картинки (не только для страниц cms, а во все другие места - и в категории, подкатегории, товары, слайдеры и прочая) через административную часть, то мы ведь хотим видеть эти картинки во всех языковых версиях? Это ведь не дело, если при переключении языка будут исчезать загруженные изображения.
Каждый блок, модуль в Prestashop сохраняет языковые версии в своих таблицах. Поэтому у вас может быть крошки и товары  на русском, а страницы на английском. Это происходит от того, что при удалении или правки текста остаются старые данные (ошибка сохранения, сбой бд и т.д.). Страницы смс сохраняют наполнение полностью, т.е.указали вы картинку, то она созраниться тегом :
<img  src="url картинки">coхраняется в таблице и потом на странице показывается этот текст.
Если у вас в
src="url картинки"ничего нет или указан другой адрес, то проверять нужно редактор.
Если полностью нет
<img  src="url картинки">то проверять языковую версию страницы.
Цитировать
Или попробывать всключить отладку, тогда ошибки должно показать.
Включили показ ошибок? Есть описание ошибок?
Выключить нужно кеш и включить перекомпиляцию.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
28 Февраль 2013, 12:30:00
Ответ #14
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем спасибо! Вопрос решён. Ребята из технической поддержки хостинга нашли решение.

PrestaMan,

В языках всё было так, как надо.