Ответы пользователя по тегу PHP
  • Вывод картинок к категориям на главной странице?

    glossyweb
    @glossyweb
    Mark marketing
    1. Подключим модель обработки изображения. Занесем в массив вывода меню, изображения.
    Путь: catalog/controller/common/header.php
    Действия: Открываем файл для редактирования, нажмем на клавиатуре CTRL + F, откроется окно для быстрого поиска по файлу.
    Нам нужна строка

    $this->load->model('extension/extension');

    сразу после нее вставляем

    $this->load->model('tool/image');

    мы подключили модель обработки изображения.
    Теперь нам нужно найти перебор массива, ищем строку

    foreach ($categories as $category) {

    В этом переборе есть два нужных нам массива, один для гланвых пунктов меню и другой для дочерних.

    Это массив главных категорий
    $data['categories'][] = array(
    'name' => $category['name'],
    //Подключить вывод изображения
    'thumb' => $this->model_tool_image->resize($category['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),
    //
    'children' => $children_data,
    'column' => $category['column'] ? $category['column'] : 1,
    'href' => $this->url->link('product/category', 'path=' . $category['category_id'])
    );

    Это массив дочерних категорий

    $children_data[] = array(
    'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
    //Подключить вывод изображения
    'thumb' => $this->model_tool_image->resize($child['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),
    //
    'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
    );

    Строку thumb я добавил, она и отвечает за вывод. Вы спросите откуда берется размер генерируемой иконки - из админки, в настройках во вкладке изображения "Размер изображения в списке категорий".

    Так же можно самому указать ширину и высоту, вот пример для дочерней категории:
    $this->model_tool_image->resize($child['image'], 20, 20),
    Обратите внимание переменная $child - это дочерняя, а $category - родительская категория.

    2. Вывод переменно в шаблон.

    Путь: catalog/view/theme/*/common/header.tpl

    Действия: Открываем файл для редактирования, нажмем на клавиатуре CTRL + F, откроется окно для быстрого поиска по файлу. Нам нужна строка

    <?php if ($categories) { ?>

    href' => $this->url->link('product/category', 'path=' . $category['category_id'])
    );

    Это массив дочерних категорий

    $children_data[] = array(
    'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
    //Подключить вывод изображения
    'thumb' => $this->model_tool_image->resize($child['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),
    //
    'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
    );

    Строку thumb я добавил, она и отвечает за вывод. Вы спросите откуда берется размер генерируемой иконки - из админки, в настройках во вкладке изображения "Размер изображения в списке категорий".

    Так же можно самому указать ширину и высоту, вот пример для дочерней категории:
    $this->model_tool_image->resize($child['image'], 20, 20),
    Обратите внимание переменная $child - это дочерняя, а $category - родительская категория.

    2. Вывод переменно в шаблон.

    Путь: catalog/view/theme/*/common/header.tpl

    Действия: Открываем файл для редактирования, нажмем на клавиатуре CTRL + F, откроется окно для быстрого поиска по файлу. Нам нужна строка

    <?php if ($categories) { ?>
    "/>
    Ответ написан
    1 комментарий
  • Как включить увеличение изображений?

    glossyweb
    @glossyweb
    Mark marketing
    за увеличения изображения отвечает magnific popup, и если вы файлики перезаписывали, то наверное сама библиотека не грузится, но как минимум должно по клику вас кидать на новую страницу и само изображение без модального окна.

    А так есть же инспектор в хроме, гляньте что не подгружается или на что ругается при клике.
    Либо киньте пациента сюда, и мы глянем на лайв примере.
    Ответ написан
    Комментировать
  • Почему при сбросе кэша дублируется метод OpenCart'ом?

    glossyweb
    @glossyweb
    Mark marketing
    Два модификатора работают с одним куском кода, потому и в функции два одинаковых метода. Нужно адаптировать чтобы не было конфликтов в дальнейшем.
    Ответ написан
    Комментировать