- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
<?
$optSelect['10'] = ($_REQUEST['sort_count']=='10') ? 'selected' : '';
$optSelect['20'] = ($_REQUEST['sort_count']=='20') ? 'selected' : '';
$optSelect['50'] = ($_REQUEST['sort_count']=='50') ? 'selected' : '';
$optSelect['all'] = ($_REQUEST['sort_count']=='all') ? 'selected' : '';
$remParams = array('sort_count');
//функция GetCurPageParam в битрикс возвращает путь к текущей странице с добавлением/удалением параметров (автор поста)
$optValueURI['10'] = $APPLICATION->GetCurPageParam('sort_count=10', $remParams);
$optValueURI['20'] = $APPLICATION->GetCurPageParam('sort_count=20', $remParams);
$optValueURI['50'] = $APPLICATION->GetCurPageParam('sort_count=50', $remParams);
$optValueURI['all'] = $APPLICATION->GetCurPageParam('sort_count=all', $remParams);
$optValue['10'] = $siteURL . $optValueURI['10'];
$optValue['20'] = $siteURL . $optValueURI['20'];
$optValue['50'] = $siteURL . $optValueURI['50'];
$optValue['all'] = $siteURL . $optValueURI['all'];
?>
<select onChange="location=this.value">
<option <?=$optSelect['10']?> value="<?=$optValue['10']?>">10</option>
<option <?=$optSelect['20']?> value="<?=$optValue['20']?>">20</option>
<option <?=$optSelect['50']?> value="<?=$optValue['50']?>">50</option>
<option <?=$optSelect['all']?> value="<?=$optValue['all']?>">Все</option>
</select>
Реализация Селекта количества выводимых элементов на странице. Сайт делал топовый партнёр 1c-Bitrix.
Я думаю, что разумнее было бы сделать так:
$arPages = array(10, 20, 50, 'all');
foreach ($arPages as $page) {?>
<option <?if($page == $_REQUEST['sort_count']){?>selected<?}?>>$page</option>
<?}?>
Ну и для сабмита можно какую нибудь нормальную функцию в JS написать.
© Waldemar Łysiak
Так по симпатичнее, да и $page у Вас не выводиться
HTML вместе с _REQUEST
Почитайте "рефакторинг" Фаулера, почитайте "паттерны" банды четырех, изучите например Zend Framework, он вроде бы пытается использовать MVC)
Попробуем придумать MVP (это как MVC, но вью пассивно, и управляемо презентером: в вебе это более удачно, имхо)
префиксы: n -- число. b -- булен. arr -- массив.
Способов заполнить модель из реквеста -- великое множество.
Например может быть наследник RequestBasedModel
Потому ее обычно выносят. И покрывают юнит тестами. Но Вы видимо так не думаете. Спишем на то, что пишете на пхп)
на 2048й строчке, в файле index.php, сразу же после SQL запроса, перед тагом TABLE ;)
сплошь и рядом же
Доставка по России. Анонимно.
[email protected]