Автор Тема: редактирование формы заказа, добавление новых свойств/полей  (Прочитано 3129 раз)

08 Сентябрь 2018, 15:55:39
Ответ #15
  • Новичок
  • *
  • Сообщений: 41
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
ну или же в информацию о клиенте добавить номер телефона

просто ситуация такая: магазин цветов, клиент при оформлении первый шаг указывает имя фамилию и эмейл. но доставка в подавляющем большинстве по другому адресу и номеру телефона так как заказывают не себе. Тоесть имеем клиента от которого мне нужно только его имя фамилия номер телефона и мыло. Почтовые данные заказчика не нужны.
Вторым шагом оформления идет добавление адреса в котором имя фамилия почтовый адрес и телефон но уже ПОЛУЧАТЕЛЯ. это все
по умолчанию же предлагаются ненужные опции добавления адреса для получения счетов только после добавления адреса доставки, это бред усложняющий процедуру заказа
08 Сентябрь 2018, 16:22:07
Ответ #16
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
В prestashop нет возможности выбирать разные поля для адреса доставки и оплаты.
Вам нужен модуль Быстрый заказ. В нем форма минимальная - имя + телефон.
08 Сентябрь 2018, 16:30:28
Ответ #17
  • Новичок
  • *
  • Сообщений: 41
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
допустим есть файл classes/customer.php
в нем такой текст public static $definition = array(
        'table' => 'customer',
        'primary' => 'id_customer',
        'fields' => array(
            'secure_key' => array('type' => self::TYPE_STRING, 'validate' => 'isMd5', 'copy_post' => false),
            'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 255),
            'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 255),
            'email' => array('type' => self::TYPE_STRING, 'validate' => 'isEmail', 'required' => true, 'size' => 128),
            'passwd' => array('type' => self::TYPE_STRING, 'validate' => 'isPasswd', 'required' => true, 'size' => 60),
            'last_passwd_gen' => array('type' => self::TYPE_STRING, 'copy_post' => false),
            'id_gender' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
            'birthday' => array('type' => self::TYPE_DATE, 'validate' => 'isBirthDate'),
            'newsletter' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
            'newsletter_date_add' => array('type' => self::TYPE_DATE, 'copy_post' => false),
            'ip_registration_newsletter' => array('type' => self::TYPE_STRING, 'copy_post' => false),
            'optin' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
            'website' => array('type' => self::TYPE_STRING, 'validate' => 'isUrl'),
            'company' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),
            'siret' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),
            'ape' => array('type' => self::TYPE_STRING, 'validate' => 'isApe'),
            'outstanding_allow_amount' => array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat', 'copy_post' => false),
            'show_public_prices' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
            'id_risk' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'copy_post' => false),
            'max_payment_days' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'copy_post' => false),
            'active' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
            'deleted' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
            'note' => array('type' => self::TYPE_HTML, 'validate' => 'isCleanHtml', 'size' => 65000, 'copy_post' => false),
            'is_guest' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
            'id_shop' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false),
            'id_shop_group' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false),
            'id_default_group' => array('type' => self::TYPE_INT, 'copy_post' => false),
            'id_lang' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false),
            'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
            'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
            'reset_password_token' => array('type' => self::TYPE_STRING, 'validate' => 'isSha1', 'size' => 40, 'copy_post' => false),
            'reset_password_validity' => array('type' => self::TYPE_DATE, 'validate' => 'isDateOrNull', 'copy_post' => false),
        ),
    );

а потом такой
public static function getCustomers($onlyActive = null)
    {
        return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
            SELECT `id_customer`, `email`, `firstname`, `lastname`
            FROM `'._DB_PREFIX_.'customer`
            WHERE 1 '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).
            ($onlyActive ? ' AND `active` = 1' : '').'
            ORDER BY `id_customer` ASC'
        );
    }

насколько я понял что getCustomer вызывает данные о клиенте такие как имя фамилия и эмейл, можно ли сделать так что бы был еще и номер телефона? что то вроде этого :'lcusPhone' => array('type' => self::TYPE_STRING, 'validate' => 'isCustomerPhone', 'required' => true, 'size' => 255),
так понимаю что кроме Customer.php придется редактировать еще кучу файлов вплоть до шаблонов емейл рассылки, интуицией чуствую что это реально сделать а с чего начать не пойму
08 Сентябрь 2018, 16:32:26
Ответ #18
  • Новичок
  • *
  • Сообщений: 41
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В prestashop нет возможности выбирать разные поля для адреса доставки и оплаты.
Вам нужен модуль Быстрый заказ. В нем форма минимальная - имя + телефон.
спасибо уважаемый Человек, попробую с Модулем быстрый заказ, пойду по пути наименьшего сопротивления
08 Сентябрь 2018, 17:00:15
Ответ #19
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля