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


Простейший модуль ЧПУ


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

#161 badisoft

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

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

Отправлено 18 March 2012 - 04:32 PM

1.Почему-то при переходе в админку из блока ( по ссылке администрирование), получаю. site.ru/категория/admin.php
2.При методе работы корзины через Ajax. Вываливается окно "идет добавление товара" и все, тишина. При обновлении страницы, товара в корзине нет. При стандартной работе корзины все ОК.

1. Я не гадалка. Имя сайта? В данном виде багрепорт не сильно информативнее фразы "у меня раздается подземный стук". С большой вероятностью дело в том, что в результирующем HTML ссылка на admin.php прописана как "admin.php", а не "/admin.php". В конце файла index.php есть реврайты таких ситуаций для дефолтового шаблона, но, естественно, в других шаблонах могут быть другие варианты, их надо самому ловить и дописывать в тот массив. Например, (наиболее распросраненный вариант) в дефолтовом шаблоне есть только ссылки типа "admin.php", а в стороннем могут быть и 'admin.php'.
2. Скорее всего, причина в том же самом.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#162 gsm-group

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

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

Отправлено 18 March 2012 - 05:12 PM

Я не гадалка. Имя сайта?


Я вам в личку скидывал.
  • 0

#163 badisoft

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

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

Отправлено 18 March 2012 - 05:27 PM

Я вам в личку скидывал

1. Мне, несомненно, очень поможет логин-пароль FTP-доступа, чтобы понять, что же не так с доступом к admin.php :).
Эти логин-пароль к админке не подходят.
2. Я не поддерживатель штанишек для лентяев. Мне бы хотелось помогать только после того, как человек пытался помочь себе сам. Вы пытались анализировать результирующий HTML-код на предмет не закрытых слэшем ссылок на admin.php? Надо в браузере найти что-нибудь типа "показать исходный код" (в моей версии эксплорера это "Вид-Просмотр HTML-кода") и поискать там не закрытые слэшем ссылки.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#164 badisoft

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

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

Отправлено 20 March 2012 - 01:49 PM

Вы пытались анализировать результирующий HTML-код на предмет не закрытых слэшем ссылок на admin.php?

Ну так и есть. В HTML присутствует ='admin.php?
Добавил в INDEX.PHP, в том числе и на сайте сообщившего о проблеме.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#165 badisoft

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

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

Отправлено 20 March 2012 - 08:18 PM

Изменения и дополнения:
1. кучка мелких изменений, которые, на мой вгляд, если и не ускоряют работу модуля, то уж точно улучшают читабельность. Не программисту это не интересно, а программист при желании увидит и сам.
2. не так давно я написал нижеследующее:

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

дошли руки реализовать. Теперь в каталог /cpu можно положить файл rewrite.txt вида:
"Главная категория","Main"
"Дрели, шуруповерты, гайковерты","Devices"
"Устройства для чтения электронных книг","BookReaders"
"Серия Pro","Pro-seria"
и эти категории не будут транслитерироваться в ЧПУ по дефолту, а будут подменяться. Довольно очевидно на что.
Вместо старой ссылки cpu.badisoft.ru/ustroistva-dlya-chtenia-elektronnyh-knig/ (как-то так, вручную писал) будет ссылка cpu.badisoft.ru/BookReaders/, а вместо /PocketBook/seriya-Pro/ будет /PocketBook/Pro-seria/. Ну а вместо транслитерации фразы "Дрели, шуруповерты, гайковерты" будет /Devices/. В ЧПУ-ссылках на товары названия категорий тоже подменяются на короткие.
Пример, как всегда, можно посмотреть на уже упомянутом сайте. Эта табличка как раз с него. Новую версию скачать там же.

PS. хе-хе... Название "Простейший модуль ЧПУ" начинает смотреться прикольно :).

PPS. Чуть было не забыл. Чтобы rewrite.txt обработался и "вступил в действие" надо запустить sitemap.php, т.е. обратиться по адресу yousite.ru/sitemap.xml
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#166 badisoft

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

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

Отправлено 21 March 2012 - 02:10 PM

1.Почему-то при переходе в админку из блока ( по ссылке администрирование), получаю. site.ru/категория/admin.php

Понял о чем речь и откуда переход (я перехожу в админку по site/admin.php).
Исправлено.
В index.php надо у четырех подстрок admin.php? убрать вопросительный знак.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#167 markiz

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

  • Пользователи
  • PipPip
  • 17 сообщений
Репутация: 0
Начинающий

Отправлено 22 March 2012 - 12:31 PM

на один поставил без проблем, но на 2м он встал но не одна категория товаров не открывается. в чем может быть проблема.
  • 0

#168 eugene_wb

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

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 22 March 2012 - 12:36 PM

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


смотреть правильно ли формируются ссылки, и проверить включено ли сжатие gzip (либо же просто запустить sitemap)
  • 0
Изображение Изображение Изображение

#169 badisoft

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

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

Отправлено 22 March 2012 - 12:41 PM

и проверить включено ли сжатие gzip

ровно наоборот - оно должно быть выключено. Но это редкая проблема, т.к. оно выключается при запусе sitemap.php автоматом. Куда чаще другие моменты, их довольно много.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#170 badisoft

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

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

Отправлено 22 March 2012 - 12:44 PM

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

"Видимо, что-то случилось!" (с) какая-то юмористическая миниатюра.
Очень сложно дать ответ по такому описанию.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#171 eugene_wb

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

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 22 March 2012 - 12:45 PM

ровно наоборот - оно должно быть выключен

именно это и имел ввиду, обшибся ;)
  • 0
Изображение Изображение Изображение

#172 badisoft

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

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

Отправлено 23 March 2012 - 10:48 PM

Очередная новая версия, мелкие изменения:
1. совсем уж мелочи. Что-то делал, но даже не помню. А, да, убрал "Главную категорию" из sitemap.xml
2. сделал то, о чем некоторое время назад писал micehide - теперь элемент меню "Новости" (список новостей) не /news.html, а /news/ и каждая новость не /novost.html, а /news/novost.html
Думается, что так будет чуть симпатичнее для поисковиков.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#173 badisoft

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

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

Отправлено 23 March 2012 - 11:44 PM

Дмитрий, доброе время суток. Спасибо за модуль... Но есть небольшие проблемы. Sitemap.php не заработал пока не исправил 33 строку на
while ($rwr = fgetcsv($handle,1000))
, без второго параметра ругался.

Цитата про этот параметр:
length (Необязательный)
Должен быть больше самой длинной строки (в символах), найденной в CSV-файле (включая завершающий символ конца строки). Он стал необязательным в PHP 5. Если этот аргумент не указан (или равен 0 в версиях PHP 5.0.4 и выше), максимальная длинна строки не ограничена, но функция работает немного медленнее.
Мне сложно предположить, почему у Вас без этого параметра не работает. У меня работает, причем так и должно быть :).

И еще - перестала работать Ajax корзина. Что-нибудь подскажите? Спасибо.

Не подскажу. Не сталкивался с Аякс-корзиной. Что нужно сделать, чтобы корзина стала "Аякс"? Просто сменить тип корзины в общих настройках или что-то еще?

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

#174 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 23 March 2012 - 11:54 PM

PS. Странность какая-то. В емейл мне пришло оповещение о таком сообщении, но самого сообщения в теме я не вижу.


Возможно оно было удалено или исправлено автором.
  • 0

#175 badisoft

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

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

Отправлено 25 March 2012 - 12:33 AM

Опс.. Нашел глючок при смене валюты. Надо исправить....
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#176 badisoft

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

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

Отправлено 28 March 2012 - 02:28 PM

Опс.. Нашел глючок при смене валюты. Надо исправить....

Исправлено. Да здравствует функция register_shutdown_function(), позволяющая "на лету" править header.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#177 vvs70inbox

    Новичок

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

Отправлено 29 March 2012 - 12:29 PM

Добрый день! Тут бился, чтобы запустить ajaxкорзину, оказалось всё элементарно просто. Надо внести изменения в файл - data/default/user.js. В функции doLoad() вместо
JsHttpRequest.query(
            'index.php', forse,
            // Function is called when an answer arrives.
            function(result, errors) {
                setTimeout('doHide()',1500);
                doCart(result);
 
            },
            true  // do not caching
        );
вставить
JsHttpRequest.query(
            '/index_old.php', forse,
            // Function is called when an answer arrives.
            function(result, errors) {
                setTimeout('doHide()',1500);
                doCart(result);
 
            },
            true  // do not caching
        );
(у меня это строка 81).
P.S. по аналогии и остальные AJAX запросы в этом же файле...
  • 0

#178 badisoft

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

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

Отправлено 29 March 2012 - 12:57 PM

Надо внести изменения в файл - data/default/user.js

Это действенно и наиболее правильно (сразу вносим изменения, а не на лету), но не совсем красиво. Модуль, собственно, для того и написан был, чтобы не вносить НИКАКИХ изменений в код. Вообще. Иначе ЧПУ можно сделать более быстрым и менее ресурсоемким, но такой ЧПУ уже есть :).

Например, для нормальной работы блока изменения текущей валюты тоже можно добавить один слэш в change_currency.php, а не городить извращения с register_shutdown_function :).

В общем, я подумаю, как бы так извернуться, чтобы и тут не лезть в код :).
Пока не понимаю, почему в данном случае не отрабатывается правильно вызов index.php.
Надо глянуть в liteseotools, как там реализован этот момент.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#179 badisoft

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

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

Отправлено 29 March 2012 - 01:02 PM

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

#180 eugene_wb

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

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 29 March 2012 - 01:03 PM

Вот кстати, я уже спрашивал: что сделать-то надо, чтобы корзина стала аяксовой и я мог поиграться с этой проблемой у себя? Просто сменить тип корзины в "Общих настройках" и все?

да
  • 0
Изображение Изображение Изображение