Нет галерей, если параметр ротации есть

magicum
Posts: 351
Joined: Mon Nov 18, 2013 11:27 am

Нет галерей, если параметр ротации есть

Post by magicum »

Всю голову сломал, мозг уже не варит вовсе.

Новый сидж.

Установил смарт.

Сразу же попытался накатить 51 апдейт на него. Не вышло, скрипт ругнулся, что я должен накатить все апдейты по очереди, т.к. текущий - 49. Почему 49? Я скачивал свежий инсталлятор. Но ладно.

Накатил 50. Прошло, но вылезла ошибка MySQL.
Накатил 51. Прошло, но вылезла та же ошибка.

Не обращая внимания на ошибку, натянул диз, залил немного галерей для теста. И понеслось:

1. Сначала у всех галерей не устанавливалась категория. Хотя я выбирал категории в прелоаде V2. Решилось странным путем - я сделал масседит для всех галерей, назначил им всем мастер категорию ALL (которая parent для всех). О чудо, Ext категории, которые я выбирал в прелоаде, тоже вернулись ко всем галереям.

2. Пока никак не решилось.
Если кликать на галерею вот так - /photo/blablablabla.html - то всё ок, открывается галя в темплейте content_custom_pic

Если кликать на галерею вот так - /photo/blablablabla.html?x3x343xg2 - то большая борода, выбрасывает на индекс.

500 раз проверил реврайты, и так и эдак переставляя параметры. Нет. Никак.
Прочекал дебаг лог nginx насчет реврайтов. Отрабатываются.

Доп. детали:

ошибка MySQL при апдейте (присутствует до сих пор):

Code: Select all

Mysql error:: 1071 (Specified key was too long; max key length is 1000 bytes) (db_link) in query ALTER TABLE `links` CHANGE `link` `link` VARCHAR( 255 ) NOT NULL . (lustimages.com) Mysql error:: 1071 (Specified key was too long; max key length is 1000 bytes) (db_link) in query ALTER TABLE `links` CHANGE `link` `link` VARCHAR( 255 ) NOT NULL .

Nginx rewrites (касательно кастом галерей):

Code: Select all

# Galleries

if ($args) { rewrite ^/photo/([^/]+)/index.html$ /out.php?link=images/$query_string&url=content&slug=$1? break; }

rewrite ^/photo/([^/]+)/index.html$ /scj/tube/?slug=$1 last;
В первом варианте в конце реврайта, согласно доке nginx, нужен знак ? , он уберет дублирование $args. Иначе, без знака вопроса, nginx херачит такой реврайт:

Code: Select all

... rewritten data: "/out.php", args: "link=images/4x2x175xg2&url=content&slug=denni-on-21naturals-com-fresh&4x2x175xg2", client:  ...
Но реврайты побоку, потому что даже когда я пробую вбить в браузер линк:

/out.php?link=images/4x2x175xg2&url=content&slug=denni-on-21naturals-com-fresh

то получаю залупу коня Буденного в виде вываливания на индекс страницу.

Слаг верный, т.к. линка вида /scj/tube/?slug=denni-on-21naturals-com-fresh показывает галерею как надо.

Где хрень?


3. Да, и пагинация не выводится вовсе. Хотя всё, и темплейты и реврайты и все-все скопированного с другого моего сиджа, на таком же сервере, таком же софте и ОСи, где всё работает.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Нет галерей, если параметр ротации есть

Post by admin »

Ок, пойдем по очереди.
Сначала была ошибка - с нее и начнем.
Какая конкретно ?
Don't forget to run script update
magicum
Posts: 351
Joined: Mon Nov 18, 2013 11:27 am

Re: Нет галерей, если параметр ротации есть

Post by magicum »

Нашел причину.

Сей бок - следствие вот этого действия над common.php - http://smartcj.com/viewtopic.php?p=130497#p130497

Эта зараза форсила темплейт index при любом раскладе, кроме: а) ссылок на /tube б) не-кастом галерей, как на сидже доноре, у которого этой проблемы нет.

Лечение:

в common.php прописать, в моем случае, так:

Code: Select all

if ((!isset($_GET['group_id'])) and (!isset($_GET['slug']))) {
 $_GET['group_id']=2;
 $_GET['force_template'] = 'index';
 };
то есть, если не указана группа (это для индеска как такового), И не указан слаг (тоесть, мы идем не на кастом галю), то форсить темлпейт index, в остальных случаях - не форсить.
magicum
Posts: 351
Joined: Mon Nov 18, 2013 11:27 am

Re: Нет галерей, если параметр ротации есть

Post by magicum »

admin wrote:Ок, пойдем по очереди.
Сначала была ошибка - с нее и начнем.
Какая конкретно ?
Конечно, прошу пардону, но вывод ошибки я привел в первом посте сразу же.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Нет галерей, если параметр ротации есть

Post by admin »

Те это был тот "серьезный баг" из другого топика ? ....

ок, показывайте какая у вас сейчас эта таблица.
Don't forget to run script update
magicum
Posts: 351
Joined: Mon Nov 18, 2013 11:27 am

Re: Нет галерей, если параметр ротации есть

Post by magicum »

Какая таблица? Я не понял.

Вы лучше скажите, допустимо ли вкладывать темплейты друг в друга?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Нет галерей, если параметр ротации есть

Post by admin »

Таблица links.
Don't forget to run script update
magicum
Posts: 351
Joined: Mon Nov 18, 2013 11:27 am

Re: Нет галерей, если параметр ротации есть

Post by magicum »

А зачем? Я же нашел причину и починил.

Но если вам интересно, то и сейчас, если провести апдейт, mysql ругается.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Нет галерей, если параметр ротации есть

Post by admin »

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

Я лично подумал что у вас есть проблема при апдейте, но если нет и тема исчерпана - ок.
Don't forget to run script update
magicum
Posts: 351
Joined: Mon Nov 18, 2013 11:27 am

Re: Нет галерей, если параметр ротации есть

Post by magicum »

Вы странные люди.

Суть проблемы, основной вопрос, задача - в тайтле топика. Я так привык оформлять, и думаю это верный способ. Тайтл - мякотка проблемы, первое сообщение - детали.

Но если я пишу коротко - плохо.
Если я даю больше деталей сразу в первом топике - вы говорите, что куча вопросов.

Вопрос, главный, был один - почему не переходило на галерею, если в урле был параметр ротации.

Чуть далее я отписал, что сам нашел причину.

По ходу дела, да, зада еще 1 вопрос, неважный, некритичный.
И кстати вот на него ответ: если будут вложенные темплейты, то последний отображен не будет. Я проверил.

Итак, если сообщение об ошибке MySQL, указанное в первом посте, и повторяющееся каждый раз при каждом апдейте - это фигня и мелочи, считаем тему закрытой.
Post Reply