Здравствуйте всем откликнувшимся. Вы очень помогли.)
потому что
Вот тут не соглашусь. Возражу тем, что
(int) 'f9f421554ап41' = 0
, а Joomla перейдёт на восьмую страницу, но если доработать... и обработать, но тут для меня важно избежать ошибок в логах, и откуда только такое урлы берутся.)
Кароч... как вариант, может громоздко малень, если развить Вашу идею, чтобы уж совсем безопасно и однозначно на все варианты (может оптимизируете как профи, но главное - чтобы не было ошибок php в логах... ну и работало)... Итак,
вариант рабочий, при условии 1 статьи на странице в блоге,
как раз мне вот это надо:
$pagescurrent = JFactory::getApplication()->input->get('start');
if (isset($pagescurrent)) {
preg_match_all('#[0-9]+#', $pagescurrent, $page);
$pagescurrent = (isset($page[0][0])? intval($page[0][0]) : 0);
}
else {
$pagescurrent =0;
}
.
AlexeyGal, идея мне понравилась, только я как обезьянка с очками, крутила и так, и эдак, у меня говорит:
Parse error: syntax error, unexpected T_PUBLIC
или
Fatal error: Using $this when not in object context in
Недодумала я тут чегой-то, видать.((( Со мной бывает.
robert, если я пишу:
$app=JFactory::getApplication('site');
$model=JModelLegacy::getInstance('Category','ContentModel');
echo ceil(($app->input->get('limitstart')+1)/$model->getState('list.limit'));
echo 'текущая страница: ' . $this->pagination->pagesCurrent;
, ругается на
$this->pagination->pagesCurrent;
, говорит:
Fatal error: Using $this when not in object context in
Вот это показывает номер текущей страницы:
echo ceil(($app->input->get('limitstart')+1)/$model->getState('list.limit'));
, но опять же, при вводе адреса ?start=f5 Joomla покажет 6 страницу, а код выдаст "0", что приведёт к ошибкам в модуле.
Возможно, я не вижу очевидных вещей и чего-то недоделала, вы уж простите, коли так.( Я совсем не профи.(((
Septdir, внимательно прочла и согласилась. Сформулирую: мне нужно было значение текущей страницы в блоге категорий, полученное целым числом, даже при условии крякозябр в урле типа: ?start=f5ss1564684fff (отсюда нужно 5). Мне кажется, что если обработать 1 запрос JFactory::getApplication()->input->get('limitstart') (предложенный
Робертом, за что спасибо Вам, Роберт), то будет в самый раз... ну, как я сделала выше... то будет лучше.
Кстати, вот это работает:
$limitstart = 0;
$limit = 10;
$total = 100;
if ($total > $limit) {
jimport('joomla.html.pagination');
$pagination = new JPagination($total, $limitstart, $limit);
echo $pagination->getPagesLinks(); //Show pagination
}
Только тут мы не узнаём текущую страницу, а сами создаём... $limitstart = 0 - что совсем наоборот.)
В общем, можно сказать, что работающее решение есть.))) Может, не самое оптимальное, но таки.