Перейти к содержимому


Простенький модуль ЧПУ, версия 2


  • Вы не можете ответить в тему
Сообщений в теме: 155

#61 shkap

    Пользователь

  • Assistent vsupport.club
  • PipPip
  • 28 сообщений
Репутация: 6
Начинающий

Отправлено 07 November 2014 - 05:19 PM

Скажите, пожалуйста, станет ли этот модуль на версию 3.1.1 не вип.
  • 0

#62 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 07 November 2014 - 09:02 PM

Скажите, пожалуйста, станет ли этот модуль на версию 3.1.1 не вип.

Нет, если отвечать строго на вопрос. Т.к. требуется редактирование admin.php, а он в неVIP закодирован.
Но я не раз на 3.1.1 ставил admin.php и index.php от 3.1.2 VIP (чтобы можно было их редактировать), никаких глюков не замечено.
Если заменить эти файлы, то встанет.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#63 Salp

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 07 December 2014 - 09:32 PM

Поставил модуль, при тестировании нашлись ошибки.

1. Если есть ссылки на новости без ЧПУ, то они со страницы /news/ в своем урл тоже имеют /news/show_news_12.html
В результате страница доступна по двум адресам с урлом категории и без.

2. Аналогичтаная ситуация с урл страницы без ЧПУ, на странице категории товара с ЧПУ.
Получается: /homyachki/page_1.html и просто с главной страницы - /page_1.html
  • 0

#64 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 08 December 2014 - 12:45 PM

Поставил модуль, при тестировании нашлись ошибки.

Ок, поставил в todo.
Это явно моя ошибка.
С ЧПУ-шными ссылками я уже эту проблему исправлял, а со старыми (штатными) как-то не пришло в голову.
Как будет свободное время - исправлю.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#65 Salp

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 17 December 2014 - 05:52 PM

Как будет свободное время - исправлю.

Спасибо! Пока что сделал для всех новостей ЧПУ ссылки и удалил из кеша гугла двойники страниц.
Есть еще проблема: страница /news.html непонятно куда редиректит:
http://имядомена/hom...blic_html/news/
...и, в результате, отдает 404.
  • 0

#66 zuncleant

    Новичок

  • Download User
  • Pip
  • 8 сообщений
Репутация: 0
Начинающий

Отправлено 17 December 2014 - 05:57 PM

Прошу помощи разобраться с проблемой.

Для теста работы модуля, залил копию рабочего сайта на локальный сервер (Denwer). Проверил, вроде как все работает. Ошибки об устаревших функциях не считаю, т.к. насколько я понимаю,они не влияют ни на работу движка ни на работу ЧПУ. На всякий случай показываю эти ошибки. Поправьте если ошибаюсь:

Спойлер


Итак,

1. Поставил модуль ЧПУ до пункта 6 (без ручной правки ссылок).
2. Проверил работу сайта до генерации ссылок - все ок и без изменений.
3. Включил в настройках модуля эти опции:

- Добавлять ЧПУ категории к ЧПУ товара
- АвтоЧПУ

Остальное выключено.

4. Запустил генерацию каталогов ЧПУ для категорий.


Обновил главную страницу - вижу что ссылки поменялись. Но при переходе на категорию или товар отдает Error 404, как понимаете - страница не найдена. По обычным адресам, товары и категории остались доступны (product_XXXX.html, category_XXXX.html).
Кроме того, ссылка на товары с моими настройками модуля должна бы быть /кат/название-товара.html, а она ведет на /название-товара.html

После попробовал удалить ЧПУ категорий и товаров. У категорий ЧПУ удалились и адресация вернулась к прежней, а ссылки на товары в фронтэнде остались ЧПУ-шными. Кстати, визуально действие удаления ЧПУ с товаров происходит очень быстро, буквально за секунду (как и в случае с категориями), и после нажатия на кнопку появляется "Завершено". Но у меня 15000 товаров в базе, и создание ЧПУ происходит значительно дольше. Так и должно быть?

В логе ошибок апача это: [Wed Dec 17 17:47:53 2014] [error] [client 127.0.0.1] File does not exist: Z:/home/domain.com/www/mebel-i-interer, referer: http://domain.com/
В логе ошибок скрипта ничего не замечено.


Сервер баз данных
Версия программы: 5.5.25 - MySQL Community Server (GPL)
Версия протокола: 10
Кодировка сервера: UTF-8 Unicode (utf8)

Веб-сервер
Apache/2.2.22 (Win32) mod_ssl/2.2.22 OpenSSL/1.0.1c PHP/5.3.13
Версия клиента базы данных: libmysql - mysqlnd 5.0.8-dev - 20102224


P.S. Вроде и встречал что-то про 404 ошибку, но все что нахожу по форуму - это какие-то другие ситуации с 404 ошибкой. Если решение уже есть, но я просто в упор его не вижу, тыкните пальцем плизз :)


Прошу помочь или хотя бы направить в нужную сторону.
Спасибо.
  • 0

#67 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 17 December 2014 - 07:23 PM

Прошу помочь или хотя бы направить в нужную сторону.

Видимо, этот вопрос в основном ко мне. Но, увы, я расстрою.
Сейчас я довольно плотно (к моему удовольствию) занят и мне ни по времени, ни по деньгам не интересно тратить время на бесплатную помощь в решении проблем по установке бесплатного модуля. Умозрительно (т.к. прочитав Ваше сообщение и попытавшись понять) я не смог догадаться, почему такое может происходить. ЧПУ установлен мной уже не на один сайт, бывают разные тараканы, но Ваш "таракан" не идентифицируется как "да, помню, было уже такое".

Могу лишь посоветовать два момента:

1. Выполнить всю инсталляцию целиком. Не останавливаясь на пункте "тут можно и закончить, если не хотите редактировать ЧПУ-ссылки". Инструкция писалась давно, находились ошибки, исправлялись, в инструкцию вносились новые пункты. В результате, вполне возможно, на текущий момент фраза "на этом можно и закончить" не соответствует истине. Скорее всего, так и есть. Надо ее будет убрать из инструкции.

2. На новогодних каникулах я предполагаю кучу свободного времени по вечерам, а интернет есть везде. Возможно (возможно!) тогда я смогу бесплатно посмотреть, что там у Вас за проблема, исправить чуть раньше найденную ошибку и т.д. и т.п. Хочется бесплатно? Тогда ждите.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#68 zuncleant

    Новичок

  • Download User
  • Pip
  • 8 сообщений
Репутация: 0
Начинающий

Отправлено 17 December 2014 - 08:32 PM

Спасибо за ответ и мысли.
Буду сейчас переустанавливать по новой до конца. Отпишусь о результате. Через часик (надеюсь).
Если не выйдет, буду обращаться за платной помощью скорее всего (кстати, где контакты найти для этого если что?).

Кстати, заметил такой баг-небаг.. даже не знаю как назвать. Но как по мне, то немаловажный момент, как для seo, так и для корректной чисто визуально генерации ЧПУ.

Если название товара содержит кавычки, скобки и подобные символы, они преобразовываются в лишние "-". В результате, если имеем товары с подобными названиями:

Стол журнальный (Древмаш)
Комод «Венеция»

получаем ЧПУ вида:

stol-zurnalniy--drevmash-.html
komod--venecia-.html
  • 0

#69 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 17 December 2014 - 08:32 PM

кстати, где контакты найти для этого если что?

Т.е. сейчас Вы не со мной общаетесь, надо какие-то другие контакты, где я буду как бы куда больше я? :)
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#70 Salp

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 17 December 2014 - 09:12 PM

zuncleant, двойные ковычки довольно легко решаются заменой:
return preg_replace('/[^0-9A-Za-z]/','-',str_replace($old,$new,mb_strtolower(html_entity_decode($str,ENT_QUOTES),'CP1251')));

на
 $str = preg_replace('/[^0-9A-Za-z]/','-',str_replace($old,$new,mb_strtolower(html_entity_decode($str,ENT_QUOTES),'CP1251')));
return preg_replace('/[\-]{2,}/','-',$str);

в cpu_functions.php
  • 0

#71 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 17 December 2014 - 09:33 PM

Если название товара содержит кавычки, скобки и подобные символы, они преобразовываются в лишние "-".

Все символы кроме буквенных преобразуются в "-".
Но никто Вам не мешает внести свою логику преобразования.
Для этого нужно в PHP-функции function cpu_translit($str) (файл cpu_functions.php) и в javascript-функции function admin_translit(str) (файл admin.js) одинаково (!) дополнить массивы преобразований, чтобы некие желаемые Вами символы преобразовывались не автоматически в "-", а в что-то другое. Например, в "".

Можно и не массивы дополнять, а как-то по другому логику преобразования изменить, лишь бы было одинаково в обоих функциях. В принципе, одинаковость преобразования не насмерть принципиальна, а нужна только (только!) для того, чтобы кнопка "автотранслит" в настройке категории/товара/новости/страницы дала ровно тот же результат, что и автогенерация ЧПУ-ссылки. Других причин для "лишь бы было одинаково" нет.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#72 zuncleant

    Новичок

  • Download User
  • Pip
  • 8 сообщений
Репутация: 0
Начинающий

Отправлено 17 December 2014 - 09:51 PM

Да, как-то я не посмотрев на тот массив отписался, но это скорее как мысли были. Я думаю лишним не будет, кому-то еще пригодится.
Переставил все по-новой, до конца. Ситуация поменялась кардинально:

В фронтэнде ссылки не преобразовались, но они создались и для товаров и для категорий - заходил в товары и категории, есть сгенерированные ЧПУ.

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

Спойлер


Если руками указать адрес в браузере и перейти по нему, то открывается страница без шаблона (нет стилей, не видит изображения и т.п.). Такое ощущение что не видит путь к шаблону где-то.
Вроде встречал похожее в ветке, пойду искать сейчас.
  • 0

#73 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 17 December 2014 - 09:55 PM

Выложу покажу, может заметите что-то явное:

Вот уж нафиг-нафиг, только коммерчески.
Поверьте, разбор более-менее развесистого .htaccess это еще то развлечение...
Может, там и просто все, но даже смотреть не буду.
Особенно такое безобразно сделанное вложение.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#74 zuncleant

    Новичок

  • Download User
  • Pip
  • 8 сообщений
Репутация: 0
Начинающий

Отправлено 17 December 2014 - 10:11 PM

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

Еще в сторону абсолютной адресации грешу. Ведь может она такой результат давать если не допилена где-то?

Насчет я имел ввиду ICQ или Skype в ПМ. Это для коммерческой основы..
Кстати, какой ценник будет? Я понимаю, что могут быть нюансы.. Хотя бы ориентировочно.
  • 0

#75 zuncleant

    Новичок

  • Download User
  • Pip
  • 8 сообщений
Репутация: 0
Начинающий

Отправлено 18 December 2014 - 05:02 PM

badisoft, Так что по коммерческому вопросу? Сколько будет стоить установка, когда сможете взяться?
  • 0

#76 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 18 December 2014 - 05:11 PM

Так что по коммерческому вопросу?

В личку.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#77 Salp

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 22 December 2014 - 05:08 PM

переделал все в более простую сторону, когда в ЧПУ товара пишется полностью вся ссылка.

Проверил - действительно, так и есть.
В таком случае непонятно, почему страницы и новости доступны по разным адресам - с указанием категории и без. В таком случае, это уже не нужно. И ресурсы можно еще сэкономить.
  • 0

#78 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 January 2015 - 09:31 PM

1. Если есть ссылки на новости без ЧПУ, то они со страницы /news/ в своем урл тоже имеют /news/show_news_12.html В результате страница доступна по двум адресам с урлом категории и без.

Поправлено. Выложу позже. Аналогично и для статических страниц.
Для понимающих - в index.php в массив $replace = array( надо добавить элементы для добавления слэша перед show_news_ и перед page_
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#79 Salp

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 28 January 2015 - 02:17 PM

Для понимающих - в index.php в массив $replace = array( надо добавить элементы для добавления слэша перед show_news_ и перед page_

Хотя, лучше было бы, вообще отключить эту обработку вложенности категорий и отдавать 404, если страница, товар или новость запрашивается не из своей категории. Т.к. урлы в ЧПУ все равно теперь с полными путями.
$replace = array(
"'data/" => "'/data/",
'"data/' => '"/data/',
"'index.php" => "'/index.php",
'"index.php' => '"/index.php',
"'".ADMIN_FILE => "'/".ADMIN_FILE,
'"'.ADMIN_FILE => '"/'.ADMIN_FILE,
'"news.html' => '"/news/',
"'show_news_" => "'/show_news_",
'"show_news_' => '"/show_news_',
'"price.html' => '"/price.html',
'"cart.html' => '"/cart.html',
'"compare.html' => '"/compare.html',
'"feedback.html' => '"/feedback.html',
'"wide_search.html' => '"/wide_search.html',
"'category_" => "'/category_",
'"category_' => '"/category_',
"'product_" => "'/product_",
'"product_' => '"/product_',
"'page_" => "'/page_",
'"page_' => '"/page_',
);

  • 0

#80 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 28 January 2015 - 02:37 PM

Т.к. урлы в ЧПУ все равно теперь с полными путями.

А если по какой-либо причине для штатного URL не задан ЧПУ? :)
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)