[Ищу] Дополнительные данные производителя

Тема в разделе "OpenCart", создана пользователем winner7, 5 май 2013.

  1. winner7

    winner7

    Регистрация:
    6 мар 2013
    Сообщения:
    322
    Симпатии:
    55
    На буржуйских демках модулей встречались (уж не помню где) в админке в разделе "производитель" дополнительные данные о производителе: телефон, веб сайт, емайл и т.п. для внутреннего так сказать пользования чисто в админке (ну чтоб не записывать отдельно где-то в записных книжках контакты производителя, а сразу хранить все в одном месте -удобно). Но поиск модуля на буржуйском сайте результатов не дал. Подскажите, кто знает, что за модуль? Или как это сделать?
     
  2. Florenco

    Florenco

    Регистрация:
    3 мар 2013
    Сообщения:
    220
    Симпатии:
    101
    15 минут работы. Пройтись по MVC производителя и добавить эти поля в базу.
     
    winner7 нравится это.
  3. winner7

    winner7

    Регистрация:
    6 мар 2013
    Сообщения:
    322
    Симпатии:
    55
    Логично =) как насчет рецептика?
     
  4. Florenco

    Florenco

    Регистрация:
    3 мар 2013
    Сообщения:
    220
    Симпатии:
    101
    На примере телефона. Для других данных добавить тоже самое, поменяв phone на email и тд

    admin/controller/catalog/manufacturer.php

    после:
    $this->data['entry_keyword'] = $this->language->get('entry_keyword');

    добавить:
    $this->data['entry_phone'] = $this->language->get('entry_phone');

    после:
    if (isset($this->request->post['keyword'])) {
    $this->data['keyword'] = $this->request->post['keyword'];
    } elseif (!empty($manufacturer_info)) {
    $this->data['keyword'] = $manufacturer_info['keyword'];
    } else {
    $this->data['keyword'] = '';
    }

    добавить:
    if (isset($this->request->post['phone'])) {
    $this->data['phone'] = $this->request->post['phone'];
    } elseif (!empty($manufacturer_info)) {
    $this->data['phone'] = $manufacturer_info['phone'];
    } else {
    $this->data['phone'] = '';
    }

    admin/language/russian/catalog/manufacturer.php

    перед:
    $_['entry_image'] = 'Изображение:';

    добавить:
    $_['entry_phone'] = 'Телефон:';


    admin/model/catalog/manufacturer.php

    после (2 раза):
    name = '" . $this->db->escape($data['name']) . "',

    добавить:
    phone = '" . $this->db->escape($data['phone']) . "',


    admin/view/template/catalog/manufacturer_form.tpl

    после:
    <tr>
    <td><?php echo $entry_keyword; ?></td>
    <td><input type="text" name="keyword" value="<?php echo $keyword; ?>" /></td>
    </tr>

    добавить:
    <tr>
    <td><?php echo $entry_phone; ?></td>
    <td><input type="text" name="phone" value="<?php echo $phone; ?>" /></td>
    </tr>


    phpMyAdmin - SQL (префикс oc_ заменить на свой если другой)

    ALTER TABLE `oc_manufacturer` ADD `phone` varchar(64) COLLATE utf8_general_ci NOT NULL AFTER `name`;
     
    Brigadier и winner7 нравится это.
  5. winner7

    winner7

    Регистрация:
    6 мар 2013
    Сообщения:
    322
    Симпатии:
    55
    А если какое-то значение вывести на фронт - просто добавить во viev так же как в admin/view/template/catalog/manufacturer_form.tpl ? Или контроллеры надо править еще?
     
  6. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    Не только контролер а и модель еще надо редактировать
     
    winner7 нравится это.
  7. Florenco

    Florenco

    Регистрация:
    3 мар 2013
    Сообщения:
    220
    Симпатии:
    101
    Смотря куда, если на страницу производителя, то этого достаточно:
    controller:
    $this->data['m_phone'] = $manufacturer_info['phone'];

    view:
    <?php echo $m_phone; ?>

    Если в продукте, то по другому и catalog/model/catalog/product.php надо ещё редактировать.
     
    winner7 нравится это.
  8. Brigadier

    Brigadier

    Регистрация:
    10 июн 2014
    Сообщения:
    2
    Симпатии:
    0
    Florenco, спасибо за подробную инструкцию. Очень нужно было.
     
  9. parampoparam

    parampoparam

    Регистрация:
    9 янв 2016
    Сообщения:
    21
    Симпатии:
    4
    сделал как написано, подкоректировал под 2.0 и у меня всеравно на на сайте вылетает ошибка
    Notice: Undefined variable: