Jump to content
sebades

Warning: A non-numeric value encountered in /home/u135727435/domains/pyvnytsia.com/public_html/catalog/controller/simple_blog/article.php on line 125

Recommended Posts

Posted (edited)

На второй странице блога (4) сайта https://pyvnytsia.com/blog/?page=2

при переходе на первую страницу (1), или при нажимании на кнопку "предыдущие" (2) или сначала (3) не работает правильно пагинация. Как я понял ето изза перехода сайта на php 7.1 и выше. и такую ошибку выдает:

Цитата

Warning: A non-numeric value encountered in /home/u135727435/domains/pyvnytsia.com/public_html/catalog/controller/simple_blog/article.php on line 46Warning: A non-numeric value encountered in /home/u135727435/domains/pyvnytsia.com/public_html/catalog/controller/simple_blog/article.php on line 125Warning: A non-numeric value encountered in /home/u135727435/domains/pyvnytsia.com/public_html/catalog/controller/simple_blog/article.php on line 125Warning: A non-numeric value encountered in /home/u135727435/domains/pyvnytsia.com/public_html/catalog/controller/simple_blog/article.php on line 125Warning: A non-numeric value encountered in /home/u135727435/domains/pyvnytsia.com/public_html/catalog/controller/simple_blog/article.php on line 132Warning: A non-numeric value encountered in /home/u135727435/domains/pyvnytsia.com/public_html/catalog/controller/simple_blog/article.php on line 136

spacer.png

 

Код, на который ругается:

125 строка

$data['results'] = sprintf($this->language->get('text_pagination'), ($blog_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($blog_total - $limit)) ? $blog_total : ((($page - 1) * $limit) + $limit), $blog_total, ceil($blog_total / $limit));

46 строка

	'start'	=> ($page - 1) * $limit,

132 строка

	$this->document->addLink($this->url->link('simple_blog/article', 'page=' . ($page - 1), true), 'prev');

136 строка

	$this->document->addLink($this->url->link('simple_blog/article', '&page=' . ($page + 1), true), 'next');

 

Edited by sebades

Share this post


Link to post
Share on other sites
7 минут назад, sebades сказал:

На второй странице блога (4) сайта https://pyvnytsia.com/blog/?page=2

при переходе на первую страницу (1), или при нажимании на кнопку "предыдущие" (2) или сначала (3) не работает правильно пагинация. Как я понял ето изза перехода сайта на php 7.1 и выше. и такую ошибку выдает:

spacer.png

 

Код, на который ругается:

125 строка


$data['results'] = sprintf($this->language->get('text_pagination'), ($blog_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($blog_total - $limit)) ? $blog_total : ((($page - 1) * $limit) + $limit), $blog_total, ceil($blog_total / $limit));

46 строка


	'start'	=> ($page - 1) * $limit,

132 строка


	$this->document->addLink($this->url->link('simple_blog/article', 'page=' . ($page - 1), true), 'prev');

136 строка


	$this->document->addLink($this->url->link('simple_blog/article', '&page=' . ($page + 1), true), 'next');

 

пропишите везде (int) перед $page, $limit, $blog_total

 

7.1 думает что это строка и выдает ошибку

Share this post


Link to post
Share on other sites
58 хвилин назад, Fedka сказав:

пропишите везде (int) перед $page, $limit, $blog_total

 

7.1 думает что это строка и выдает ошибку

Можете на примере показать? я немного двоешник в етом, боюсь все поламать

Share this post


Link to post
Share on other sites
$data['results'] = sprintf($this->language->get('text_pagination'), ($blog_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($blog_total - $limit)) ? $blog_total : ((($page - 1) * $limit) + $limit), $blog_total, ceil($blog_total / $limit));

На етом примеере, если можна

Share this post


Link to post
Share on other sites
1 час назад, sebades сказал:

$data['results'] = sprintf($this->language->get('text_pagination'), ($blog_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($blog_total - $limit)) ? $blog_total : ((($page - 1) * $limit) + $limit), $blog_total, ceil($blog_total / $limit));

На етом примеере, если можна

$data['results'] = sprintf($this->language->get('text_pagination'), ((int)$blog_total) ? (((int)$page - 1) * (int)$limit) + 1 : 0, ((((int)$page - 1) * (int)$limit) > ((int)$blog_total - (int)$limit)) ? (int)$blog_total : ((((int)$page - 1) * (int)$limit) + (int)$limit), (int)$blog_total, ceil((int)$blog_total / (int)$limit))

 

Share this post


Link to post
Share on other sites

Пробую, и ловлю такую ошибку:

Parse error: syntax error, unexpected 'if' (T_IF) in /home/u135727435/domains/pyvnytsia.com/public_html/catalog/controller/simple_blog/article.php on line 128

Share this post


Link to post
Share on other sites
Posted (edited)
1 годину назад, Fedka сказав:

$data['results'] = sprintf($this->language->get('text_pagination'), ((int)$blog_total) ? (((int)$page - 1) * (int)$limit) + 1 : 0, ((((int)$page - 1) * (int)$limit) > ((int)$blog_total - (int)$limit)) ? (int)$blog_total : ((((int)$page - 1) * (int)$limit) + (int)$limit), (int)$blog_total, ceil((int)$blog_total / (int)$limit))

  

Сделал в точности, как вы написали.

Но через хитрость. Я все ети переменные переделал через функцию "Заменить все"

12M9ko8clJN9V2.png

 

И заработало, спасибо. Прошу тему пометить, как "решено"

Edited by sebades

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By ledspb886
      SOS !! почему не работают модификаторы / версия ocStore 2.3.0.2.3 / Тем кто в теме помогите. Последние 1.5 недели пользовался сторонними специалистами по настройке сайта, сложно сказать кто из них сбил настройки модификаторов. СЕЙЧАС ОНИ НЕ РАБОТАЮТ. Нужно включить чтобы все работало. Оплата по договоренности через Яндекс Деньги. 
    • By kunca
      Добрый день.
       
      Есть магазин на ocStore Version 1.5.4.1. На сервере стоит версия PHP 5.3.3, хостинг reg.ru.
       
      Нужно установить модуль для работы с атрибутами, которому нужна версия PHP 5.4 и выше. Прочесала весь форум, судя по всему это единственный модуль, к-ый подходит под версию 1.5.4.1 и он нам очень нужен (для быстрого исправления ошибок в значениях атрибутов, к-ых довольно много).
       
      Вопрос, какова вероятность, что сайт перестанет работать, если на сервере обновить версию PHP (до 5.4 или 5.6)? Понимаю, что гарантий никто никогда не дает, но это действующий сайт интернет-магазина, если что-то пойдет не так, то будет потрачено некоторое время на откат на старую версию PHP 5.3 и потеряны заказы и клиенты.
       
      Или может это не так страшно, но перед обновлением стоит проверить все модули на совместимость с новой версией PHP?
       
      Нужно принять правильное решение, может кто-то уже сталкивался с подобным - буду благодарна за совет!
    • By Apostolpaul
      Здравствуйте. Проблема следующая: в карточке товара пропал футер, отзывы и рекомендуемые товары. Лог пишет следующую ошибку: 
       
      В указанном файле удалил строки:
      <?php $reviews = $this->model_catalog_review->getReviewsByProductId($product_id); if ($reviews) { foreach ($reviews as $review) { echo '<div class="content"><p><strong>'.$review['author'].'</strong> – '; $date = strtotime($review['date_added']); echo date('d M Y',$date); ?><br /> <img src="catalog/view/theme/default/image/stars_<?php echo $review['rating'] ?>.png" alt="<?php echo $review['rating'] ?> из 5 звёзд!" /><br /> <?php echo $review['text'].'</p></div>'; } После этого всё появилось, кроме отзывов. При этом ничего, связанного с этими файлами не правил. В чём может быть проблема?
       
    • By JustSkew
      Всем привет!
       
      Есть страница domain.ru/page. Нужно сделать так, чтобы эта же страница открывалась по domain.ru/page-1, .../page-2 и т.д. То есть, если после page через тире идет продолжение - открывать содержимое страницы /page без смены урл. 
       
      Например: заходим по ссылке domain.ru/page-1 - показывается содержимое страницы page (для page один шаблон в view и один контроллер), при этом урл остается domain.ru/page-1
      На сайте есть seoPro, опенкарт версии 1.5
       
       
      Чтобы было понятнее для чего это: это будет страница контактов для множества городов (kontakty-v-moskve, kontakty-v-pitere) и по всем урлам должна открываться одна страница (/kontakty), в которой будет, в зависимости от урла, меняться информация. Создавать страницу для каждого города не вариант, т.к. таких городов >150.
       
    • By vetalkurilenko
      День добрый. Проблема такая. Есть шаблон Debaco, связи с разработчиком к сожалению нету. В нем имеется уже встроенный модуль рассылки почты. В этом модуле возникает ошибка 
      Notice: Undefined index: total in D:\Server\OSPanel\domains\molli.com.ua.loc\admin\model\plaza\newsletter.php on line 55 при попытке пагинации, при чем ошибка появляется только начиная со второй страницы списка.
      Ну и сам код:
      <?php class ModelPlazaNewsletter extends Model { public function getMail($newsletter_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "ptnewsletter_email WHERE newsletter_id = '" . (int) $newsletter_id . "'"); return $query->row; } public function getMails($data = array()) { $sql = "SELECT * FROM " . DB_PREFIX . "ptnewsletter_email"; if(isset($data['filter_mail'])) { $sql .= " WHERE mail LIKE '%" . $this->db->escape($data['filter_mail']) . "%'"; } if (isset($data['start']) || isset($data['limit'])) { if ($data['start'] < 0) { $data['start'] = 0; } if ($data['limit'] < 1) { $data['limit'] = 20; } $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; } $query = $this->db->query($sql); return $query->rows; } public function getTotalMails($data = array()) { $sql = "SELECT COUNT(*) AS total FROM " . DB_PREFIX . "ptnewsletter_email"; if(isset($data['filter_subscribe'])) { $sql .= " WHERE subscribe = '" . $this->db->escape($data['filter_subscribe']) . "'"; } if (isset($data['start']) || isset($data['limit'])) { if ($data['start'] < 0) { $data['start'] = 0; } if ($data['limit'] < 1) { $data['limit'] = 20; } $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; } $query = $this->db->query($sql); return $query->row['total']; } public function editSubscribe($mail_id, $subscribe) { $this->db->query("UPDATE " . DB_PREFIX . "ptnewsletter_email SET subscribe = '" . (int) $subscribe . "' WHERE newsletter_id = '" . (int) $mail_id . "'"); } public function deleteMail($mail_id) { $this->db->query("DELETE FROM " . DB_PREFIX . "ptnewsletter_email WHERE newsletter_id = '" . (int) $mail_id . "'"); } public function install() { $this->db->query(" CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "ptnewsletter_email` ( `newsletter_id` INT(11) NOT NULL AUTO_INCREMENT, `subscribe` TINYINT(1) NOT NULL DEFAULT '1', `mail` varchar(255) NOT NULL, PRIMARY KEY (`newsletter_id`) ) DEFAULT COLLATE=utf8_general_ci;"); $this->load->model('user/user_group'); $this->model_user_user_group->addPermission($this->user->getGroupId(), 'access', 'plaza/newsletter'); $this->model_user_user_group->addPermission($this->user->getGroupId(), 'modify', 'plaza/newsletter'); } public function uninstall() { $this->db->query("DROP TABLE IF EXISTS `" . DB_PREFIX . "ptnewsletter_email`"); $this->load->model('user/user_group'); $this->model_user_user_group->removePermission($this->user->getGroupId(), 'access', 'plaza/newsletter'); $this->model_user_user_group->removePermission($this->user->getGroupId(), 'modify', 'plaza/newsletter'); } } Не могу понять в чем причина ошибки. Прошу вашей помощи, заранее спасибо )
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.