Проблемка при установке мода "printer-friendly topic&am

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
abola
phpBB 1.4.2
Сообщения: 50
Стаж: 18 лет 10 месяцев
Благодарил (а): 1 раз

Проблемка при установке мода "printer-friendly topic&am

Сообщение abola »

Мод:

Код: Выделить всё

#-----[ OPEN ]------------------------------------------
#
viewtopic.php
#
#-----[ FIND ]------------------------------------------
#
	LIMIT $start, ".$board_config['posts_per_page'];
#
#-----[ REPLACE WITH ]------------------------------------------
#
	LIMIT $start, ".(isset($finish)? ((($finish - $start) > 0)? ($finish - $start): -$finish): $board_config['posts_per_page']);
#
Но на месте указанной строки имеем следущее (от другого мода пагинации с кнопкой all)

Код: Выделить всё

$_limit=($start=='all')?(''):("LIMIT ".$start.", ".$board_config['posts_per_page']);

Можно ли как-то объединить эти строки в одну, что бы они не конфликтовали?

В пхп не рублю, пробовал по аналогии заменить, как в указанном моде, только не смейтесь ;)

Код: Выделить всё

$_limit=($start=='all')?(''):("LIMIT ".$start.", ".(isset($finish)? ((($finish - $start) > 0)? ($finish - $start): -$finish): $board_config['posts_per_page']);
но не работает, где-то видимо ашыпка, может даже синтаксис, запятой какой-нибудь не хватает, но я сам не могу разобраться... Помогите кто чем может!...

:D
Аватара пользователя
abola
phpBB 1.4.2
Сообщения: 50
Стаж: 18 лет 10 месяцев
Благодарил (а): 1 раз

Сообщение abola »

Эх, Xpert, где ты? На кого ж ты нас покинул! :) Ты бы мне помог! :D
VovikV
phpBB 1.4.4
Сообщения: 119
Стаж: 19 лет 5 месяцев

Сообщение VovikV »

Посмотрел у себя, сделано все как и у вас. Все работает. вы бы хоть ошибку написали.
Ну и кнопка all не будет работать в моде печати, его тогда тоже править нужно, я поленился :), у мода печати есть своя опция позволяющая выводить все страницы.
Что эксперт ушел действительно жалко. Удачи ему в работе и phpbb как любимое хобби.
Аватара пользователя
/DiOs
Former team member
Сообщения: 1139
Стаж: 19 лет 2 месяца
Откуда: Ленинград

Сообщение /DiOs »

abola писал(а):Но на месте указанной строки имеем следущее (от другого мода пагинации с кнопкой all)
Это не может быть на месте указанной строки, поскольку указанная строка -- окончание формирования селекта к базе, а это -- формирование новых (модифицированных) условий для селекта. У меня не установлено ни одного из этих модов и без листинга я вам все равно не напишу (а если напишу -- не смогу проверить), как надо, но идея состоит в следующем.

В искомом месте формируется последняя строка селекта со служебным словом LIMIT, после которого через запятую идут два значения: $start, определяющая начало выборки и подсоединяемое через знак "." выбранное из базы значение числа сообщений на страницу $board_config['posts_per_page'] (это уже текст, так что перед после запятой закрыта кавычка описания строки запроса).

В установленном уже моде все, судя по всему, делается несколько иначе: переменная $start может принять значение 'all' (при нажатии кнопки, по-видимому) и формируется переменная $_limit, которая далее используется в том самом селекте (скорее всего, конкатенацией к нему через ".").

Ну а новый мод формирует селект на старый манер, только проверяется факт установки переменной $finish и только если она не установлена, то в качестве верхнего предела по-прежнему берется $board_config['posts_per_page'], а иначе $finish-$start (если эта разность положительна, либо сам $finish. Естественно, мне не видно, где и по какому условию этот $finish формируется.

В сухом остатке: предполагать, как надо сделать, я могу, а вот проверить -- никак.

Добавлено спустя 9 минут 47 секунд:

Ага, тут есть идеологический момент: а что вы хотите чтобы было, если нажата кнопка "All"? То, как написали вы, приводит к тому, что если она нажата ($_limit=($start=='all')?(''):...), то на все установки паджинации от мода печати мы пюлюем слюнями. Это то, чего хочется?
И если я неправ, пусть старшие товарищи поправят меня
Аватара пользователя
abola
phpBB 1.4.2
Сообщения: 50
Стаж: 18 лет 10 месяцев
Благодарил (а): 1 раз

Сообщение abola »

Спасибо, мужчины! как я и предполагал - проблема в синтаксисе. Конкретно в нехватке закрывающей скобки ")" в конце

Код: Выделить всё

$_limit=($start=='all')?(''):("LIMIT ".$start.", ".(isset($finish)? ((($finish - $start) > 0)? ($finish - $start): -$finish): $board_config['posts_per_page']));
поди их там сосчитай все :D

Вернуться в «Поддержка phpBB 2.0.x»