Регистрация
Вход через соцсети
Восстановление пароля

Число объектов на странице

Новый топик
Страницы: 1  |  2  |  3
26.03.2009, 17:14
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Гость писал(а):
Как можно зафиксировать положение на странице, не вылетать постоянно на первую и не сбрасывать значение переменной $portion...!?(


За постраничную навигацию отвечают переменные $prevLink, $nextLink и функция browse_messages(...). Если мне не изменяет память, то в данные переменные наследуются значения переменных $srchPat[] - для поиска по полям. Все остальные переменные из URI строки никак не обрабатываются! имхо, недоработка разработчиков!

Для решения данного вопроса я полученные значения в указанных выше переменных и функции обрабатываю регулярным выражением, которое в результирующую ссылку подставляет текущие переменные из URI строки.

Temet nosce...
26.03.2009, 17:33
Ответить | Цитировать
Гость
Гость

<a href=......../".opt($portion,"?portion=$portion")."
попробовал, все также, не запоминает.
Это ваще беда если записей больше сотен трех))Теряешься в пространстве капитально)
А как можно с куками поработать, чтоб хоть как-то ему память пришить!?
26.03.2009, 17:55
Ответить | Цитировать
Гость
Гость

DiGGy писал(а):

За постраничную навигацию отвечают переменные $prevLink, $nextLink и функция browse_messages(...). Если мне не изменяет память, то в данные переменные наследуются значения переменных $srchPat[] - для поиска по полям.


Да есть там такие переменные $srchPat[] и &curPos позиция курсора как понятно увеличивающаяся на число отображаемых записей на странице.

Регулярное выражение это интересно.как бы это реализовать...!?
27.03.2009, 09:22
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Гость писал(а):
как бы это реализовать...!?


Код:

";
if ($prevLink || $nextLink ) {
$brwsemsg = "Страницы: ";
if ($prevLink) {$brwsemsg .=" <a href=$prevLink><< Предыдущая</a> ";}
$brwsemsg .= browse_messages($cc_env, 10);
if ($nextLink) {$brwsemsg .=" <a href=$nextLink>Следующая >></a>";}
if ($portion) {
$result .= preg_replace("/(<s*a.+?hrefs*=s*['"]?s*)([-A-Z0-9+&@#/%=~_|!:,.;?]*)(.*?>)/si","\1\2&".preg_replace(array("/curPos=[0-9]+[&]?/","/catalogue=[0-9]+[&]?/","/sub=[0-9]+[&]?/","/cc=[0-9]+[&]?/"),"",$GLOBALS['parsed_url']['query'])."\3",$brwsemsg);
} else {
$result .= $brwsemsg;
}
}
$result .= "

где $portion - это ваша переменная с кол-вом отображаемых страниц

Temet nosce...
30.03.2009, 15:11
Ответить | Цитировать
Гость
Гость

СПАСИБО! Большими буквами)
Позвольте уж последний вопрос.Все этом же шаблоне есть функция конвертации валют, находясь также к примеру на одной из страниц выбираем нужную валюту, жмем кнопку конвертировать, все работает замечательно за исключением того, что при обновлении окна мы не остаемся на той же странице, происходит переход на первую страницу.Т.е. шаблон полностью обнуляется и мы видим записи с нужной нам валютой, но толко на первой странице.

И сам вопрос собственно, можно ли используя это регулярное выражение исправить и этот, совершенно не нужный переход на первые позиции!?....

За ранее спасибо.
30.03.2009, 15:50
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Не совсем понял как реализован механизм смены валюты.

Допустим, валюта задается переменной currency, то в указанном выше примере надо будет скорректировать строчку

Код:
...
if ($portion || $currency) {
...


Temet nosce...
30.03.2009, 16:23
Ответить | Цитировать
Гость
Гость

Валюта определяется списком. Выглядит так
Код:
<!--Список валют-->
<td>
".nc_list_select("ShopCurrency","Currency", ((int)$_GET['Currency']), "", "", "<select name='Currency'>", "<OPTION value='$value_id' $value_selected>$value_name</OPTION>")."
</td>
<td><input type='submit' value='Перейти'></td>

"Перейти" - соответственно кнопка которая должна только изменить значения в поле с ценой.
А в итоге - добро пожаловать на первую страницу...
30.03.2009, 17:13
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

ну это уже смотрите настройки формы <form ....> - че у вас там в action прописано и т.п.

а с переменной я почти угадал Currency - тока с большой буквы

Temet nosce...
30.03.2009, 21:33
Ответить | Цитировать
Гость
Гость

В action ничего вроде замсловатого
Код:
<form action='ссылка на страницу *.html' method='get'>
<input type='hidden' name='action' value='index'>


Где-то здесь ведь надо прописать текущую позицию (т.е. хотя бы номер страницы) на которой находишься в момент нажатия на кнопку...
31.03.2009, 00:33
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

дык добавьте требуемые параметры в виде скрытых переменных, типа
Код:

<form action='ссылка на страницу *.html' method='get'>
<input type='hidden' name='portion' value='{$portion}'>
... и т.п.


Temet nosce...
198 196 2009-04-01 07:57:23 7651
Страницы: 1  |  2  |  3
Описание проекта