Page 1 of 2

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

Posted: Fri Dec 13, 2013 1:45 pm
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. Да, и пагинация не выводится вовсе. Хотя всё, и темплейты и реврайты и все-все скопированного с другого моего сиджа, на таком же сервере, таком же софте и ОСи, где всё работает.

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

Posted: Fri Dec 13, 2013 3:28 pm
by admin
Ок, пойдем по очереди.
Сначала была ошибка - с нее и начнем.
Какая конкретно ?

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

Posted: Fri Dec 13, 2013 3:41 pm
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, в остальных случаях - не форсить.

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

Posted: Fri Dec 13, 2013 3:42 pm
by magicum
admin wrote:Ок, пойдем по очереди.
Сначала была ошибка - с нее и начнем.
Какая конкретно ?
Конечно, прошу пардону, но вывод ошибки я привел в первом посте сразу же.

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

Posted: Fri Dec 13, 2013 3:50 pm
by admin
Те это был тот "серьезный баг" из другого топика ? ....

ок, показывайте какая у вас сейчас эта таблица.

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

Posted: Fri Dec 13, 2013 3:52 pm
by magicum
Какая таблица? Я не понял.

Вы лучше скажите, допустимо ли вкладывать темплейты друг в друга?

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

Posted: Fri Dec 13, 2013 4:21 pm
by admin
Таблица links.

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

Posted: Fri Dec 13, 2013 4:23 pm
by magicum
А зачем? Я же нашел причину и починил.

Но если вам интересно, то и сейчас, если провести апдейт, mysql ругается.

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

Posted: Fri Dec 13, 2013 4:25 pm
by admin
Тут в одном топике написано целая куча разных вопросов, из которых даже не ясно что решено что нет и большая часть к названию топика не имеет отношения - это путает.

Я лично подумал что у вас есть проблема при апдейте, но если нет и тема исчерпана - ок.

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

Posted: Fri Dec 13, 2013 4:34 pm
by magicum
Вы странные люди.

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

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

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

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

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

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