Автор Тема: Админка вывод более 100 товаров  (Прочитано 104 раз)

11 Февраль 2021, 13:51:51
  • Пользователь
  • **
  • Сообщений: 83
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день! В поиски информации не нашел.
Задача отобразить в админ панели более 100 товаров на странице.

Стандартно отображается 100 и предлагаемые варианты 20 50 100

Нашел фаил где прописаны параметры /classes/controller/AdminController.php

/** @var array Number of results in list per page (used in select field) */
    protected $_pagination = [20, 50, 100, 300, 500, 1000];

    /** @var int Default number of results in list per page */
    protected $_default_pagination = 300;

Но при изменении этих параметров ни чего не меняется =(

11 Февраль 2021, 15:31:13
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16425
  • Репутация: +14622/-5
  • Сообщество PrestaShop
    • Просмотр профиля
11 Февраль 2021, 15:37:52
Ответ #2
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22800
  • Репутация: +17140/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Постраничную навигацию можно изменить в шаблоне:
/src/PrestaShopBundle/Resources/views/Admin/Common/pagination.html.twig
<option value="300">300</option>
<option value="500">500</option>
<option value="1000">1000</option>
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
11 Февраль 2021, 15:38:33
Ответ #3
  • Пользователь
  • **
  • Сообщений: 83
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
11 Февраль 2021, 15:54:02
Ответ #4
  • Пользователь
  • **
  • Сообщений: 83
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Постраничную навигацию можно изменить в шаблоне:
/src/PrestaShopBundle/Resources/views/Admin/Common/pagination.html.twig
<option value="300">300</option>
<option value="500">500</option>
<option value="1000">1000</option>
:'(
<div class="row justify-content-center">
  <ul class="pagination mb-0">
    <li class="page-item {% if first_url %}{% else %}disabled{% endif %}">
      <a class="page-link" {% if first_url %}href="{{ first_url }}"{% else %}nohref{% endif %}>1</a>
    </li>
    <li class="page-item previous {% if previous_url %}{% else %}disabled{% endif %}">
      <a class="page-link" aria-label="Previous" {% if previous_url %}href="{{ previous_url }}"{% else %}nohref{% endif %}><span class="sr-only">Previous</span></a>
    </li>
    <li class="page-item active">
      <input name="paginator_jump_page" class="jump-to-page" type="text" value="{{ current_page }}" psurl="{{ jump_page_url }}" psmax="{{ page_count }}" pslimit="{{ limit }}" />
    </li>
    <li class="page-item next {% if next_url is defined and next_url != false %}{% else %}disabled{% endif %}">
      <a class="page-link" aria-label="Next" id="pagination_next_url" {% if next_url is defined and next_url != false %}href="{{ next_url }}"{% else %}nohref{% endif %}><span class="sr-only">Next</span></a>
    </li>
    <li class="page-item {% if last_url is defined and last_url != false %}{% else %}disabled{% endif %}">
      <a class="page-link" {% if last_url is defined and last_url != false %}href="{{ last_url }}"{% else %}nohref{% endif %}>{{ page_count }}</a>
    </li>
  </ul>
  <div class="mx-3">
    <label class="col-form-label">
      {{ "Viewing %from%-%to% on %total% (page %current_page% / %page_count%)"|trans({
        '%from%': from+1,
        '%to%': min(to+1, total),
        '%total%': total,
        '%current_page%': current_page,
        '%page_count%': page_count
      }, 'Admin.Catalog.Feature') }}
    </label>
  </div>
  <div class="mx-3">
    <div class="form-group row mb-0">
      <label for="paginator_select_page_limit" class="col-form-label mr-2">{{ "Items per page:"|trans({}, 'Admin.Catalog.Feature') }}</label>
      <div>
        <select name="paginator_select_page_limit" id="paginator_select_page_limit" psurl="{{ changeLimitUrl }}" class="pagination-link custom-select">
          {% if limit not in limit_choices %}
            <option value="{{ limit }}" selected="selected">{{ limit }}</option>
          {% endif %}
          {% for limit_choice in limit_choices %}
            <option value="{{ limit_choice }}" {% if limit==limit_choice %}selected="selected"{% endif %}>{{ limit_choice }}</option>
          {% endfor %}
        </select>
      </div>
    </div>
  </div>
</div>
11 Февраль 2021, 16:08:04
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 22060
  • Репутация: +25301/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Память увеличте на хостинге и покажет больше 100.
Ничего менять в файлах не нужно.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
11 Февраль 2021, 16:15:26
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 33306
  • Репутация: +26770/-0
    • Просмотр профиля
Память увеличте на хостинге и покажет больше 100.
Ничего менять в файлах не нужно.
В prestashop какие-то дикие запросы на размер памяти
public function getPaginationLimitChoices()
{
        $paginationLimitChoices = [20, 50, 100];

        $memory = Tools::getMemoryLimit();

        if ($memory >= 512 * 1024 * 1024) {
            $paginationLimitChoices[] = 300;
        }
        if ($memory >= 1536 * 1024 * 1024) {
            $paginationLimitChoices[] = 1000;
        }

        return $paginationLimitChoices;
}
На каком хостинге столько выделят?
11 Февраль 2021, 16:22:38
Ответ #7
  • Пользователь
  • **
  • Сообщений: 83
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Память увеличте на хостинге и покажет больше 100.
Ничего менять в файлах не нужно.
Правой кнопкой показать код элемента, прописываешь нужное значение ручками, грузит быстро.
Другой вопрос что мне не удается сделать значение отображаемых товаров по умолчанию и добавить иные варианты кроме как 20 50 100

У меня выгрузка с 1С идет и там приходится пере активировать товар, чтобы он прописался по всем категориям и начал отображаться на сайте. А по 100 шт это гемр
11 Февраль 2021, 17:54:57
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 22060
  • Репутация: +25301/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Память увеличте на хостинге и покажет больше 100.
Ничего менять в файлах не нужно.
В prestashop какие-то дикие запросы на размер памяти
public function getPaginationLimitChoices()
{
        $paginationLimitChoices = [20, 50, 100];

        $memory = Tools::getMemoryLimit();

        if ($memory >= 512 * 1024 * 1024) {
            $paginationLimitChoices[] = 300;
        }
        if ($memory >= 1536 * 1024 * 1024) {
            $paginationLimitChoices[] = 1000;
        }

        return $paginationLimitChoices;
}
На каком хостинге столько выделят?
В prestashop ограничение по количеству товаров на странице, зависит от памяти.
Менять контроллер админки или шаблон бесполезно.
Если хотите добавить больше 100, то переопределите этот метод getPaginationLimitChoices.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
11 Февраль 2021, 19:28:55
Ответ #9
  • Пользователь
  • **
  • Сообщений: 83
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Память увеличте на хостинге и покажет больше 100.
Ничего менять в файлах не нужно.
В prestashop какие-то дикие запросы на размер памяти
public function getPaginationLimitChoices()
{
        $paginationLimitChoices = [20, 50, 100];

        $memory = Tools::getMemoryLimit();

        if ($memory >= 512 * 1024 * 1024) {
            $paginationLimitChoices[] = 300;
        }
        if ($memory >= 1536 * 1024 * 1024) {
            $paginationLimitChoices[] = 1000;
        }

        return $paginationLimitChoices;
}
На каком хостинге столько выделят?
В prestashop ограничение по количеству товаров на странице, зависит от памяти.
Менять контроллер админки или шаблон бесполезно.
Если хотите добавить больше 100, то переопределите этот метод getPaginationLimitChoices.

Прощу прощения, не так хорошо знаю prestashop.
где искать этот метод? Я понял что из кода представленного тут, но путь к нему не знаю(
11 Февраль 2021, 19:48:31
Ответ #10
  • Пользователь
  • **
  • Сообщений: 83
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Память увеличте на хостинге и покажет больше 100.
Ничего менять в файлах не нужно.
В prestashop какие-то дикие запросы на размер памяти
public function getPaginationLimitChoices()
{
        $paginationLimitChoices = [20, 50, 100];

        $memory = Tools::getMemoryLimit();

        if ($memory >= 512 * 1024 * 1024) {
            $paginationLimitChoices[] = 300;
        }
        if ($memory >= 1536 * 1024 * 1024) {
            $paginationLimitChoices[] = 1000;
        }

        return $paginationLimitChoices;
}
На каком хостинге столько выделят?

Подскажите пожалуйста путь к файлу с этим кодом
12 Февраль 2021, 11:47:36
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 22060
  • Репутация: +25301/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
/src/Adapter/Product/AdminProductDataProvider.php
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
12 Февраль 2021, 12:06:46
Ответ #12
  • Пользователь
  • **
  • Сообщений: 83
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
/src/Adapter/Product/AdminProductDataProvider.php
Спасибо большое!
    /**
     * {@inheritdoc}
     */
    public function getPaginationLimitChoices()
    {
        $paginationLimitChoices = [20, 50, 100, 300, 500, 1000];

        $memory = Tools::getMemoryLimit();

        if ($memory >= 512 * 1024 * 1024) {
            $paginationLimitChoices[] = 300;
        }
        if ($memory >= 1536 * 1024 * 1024) {
            $paginationLimitChoices[] = 1000;
        }

        return $paginationLimitChoices;
    }
Прописав вот это, все стало супер       
$paginationLimitChoices = [20, 50, 100, 300, 500, 1000];