Jump to content


Photo
- - - - -

Альтернативный заголовок для полей заказа


Best Answer SmetDenis , 07 November 2016 - 06:21

Все верно,

 

 

Вам нужно использовать стиль позиции

jbuniversal\templates-system\renderer\element\order\block.php

 

Значение из конфига можно получить следующим образом

$element->config->get('my_config')

 

параметр name="my_config" должен быть в блоке params (без группы render)

Go to the full post


  • This topic is locked This topic is locked
11 replies to this topic

#1 zeus07

zeus07
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 18 October 2016 - 00:37

Здравствуйте!

 

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

 

К примеру, в корзине для ФИО заголовок указан "Как к вам обращаться?", а в письме надо, чтобы было именно ФИО.

 

Само поле для ввода альтернативного заголовка, к примеру для поля text, я задал в XML, это не составило труда:

<param name="altlabel" type="text" default="" label="Alternative Label" description="CUSTOM_LABEL"/> 

Как правильно этот параметр использовать в шаблоне поля text? Именно в PHP. 

 

Подскажите пожалуйста.

 


  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 19 October 2016 - 06:11

В метод рендеринга приходят параметры из XML, блок params group=render

 

Соответственно, render() будет выглядеть так

public function render($params) {
    echo $params['altlabel'];
    // прочий код
}

 

 

если в XML это указано вне group=render, то это обычный конфиг элемента. Т.е доступ к свойству будет таким

$this->config['altlabel'];
$this->config->get('altlabel');

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 zeus07

zeus07
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 20 October 2016 - 15:07

Большое спасибо! Буду пробовать!


  • 0

#4 zeus07

zeus07
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 02 November 2016 - 23:37

Попробовал по вашей рекомендации, но видимо либо не так использую, либо не там. 

 

Суть в том, что вот есть обычное текстовое поле,с именем ФИО. Как альтернативную метку я хочу сделать текст "Как к Вам обращаться?", который и будет отображаться в корзине как название поля.  Скриншот самого поля: http://prntscr.com/d2ckew

 

В файле /media/zoo/applications/jbuniversal/cart-elements/order/text/text.php я внёс это поле, но наверное неверно...Подскажите пожалуйста, в чём ошибка. Вот код: 

<?php
/**
 * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
 * @package     jbzoo
 * @version     2.x Pro
 * @author      JBZoo App http://jbzoo.com
 * @copyright   Copyright (C) JBZoo.com,  All rights reserved.
 * @license     http://jbzoo.com/license-pro.php JBZoo Licence
 * @coder       Denis Smetannikov <denis@jbzoo.com>
 */

// no direct access
defined('_JEXEC') or die('Restricted access');

/**
 * Class JBCartElementOrderFieldText
 */
class JBCartElementOrderText extends JBCartElementOrder
{
    /**
     * Renders the element in submission
     * @param array $params
     * @return string
     */
    public function renderSubmission($params = array())
    {
        $value = $this->getUserState($params->get('user_field'));

        return $this->app->html->_(
            'control.text',
            $this->getControlName('value'),
	    $this->config->get('altlabel'),
            $this->get('value', $value),
            'size="60" maxlength="255" id="' . $this->htmlId() . '" placeholder="' . $this->config->get('order_placeholder') . '"'
        );
    }

}

  • 0

#5 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 03 November 2016 - 08:29

Извините, похоже я запутался.

 

 

Можете сделать скриншот формы в корзине, где будет подписано какие слова где должны выводится.

Мне кажется, что тут дело в стиле позиции, который находится тут

 

jbuniversal\templates-system\renderer\element\order\block.php

 

Лейбл (который слева) и описание (которое справа) выводятся именно там.

xyh9_200x0.png

 

В коде самого элемента text.php мы можем повлиять лишь на тег инпута.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#6 zeus07

zeus07
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 03 November 2016 - 13:53

Давайте подробнее расскажу, что я хочу сделать.

 

В корзине, в форме заказа у каждого поля прописано своё название http://prntscr.com/d2k82k

 

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

 

Как к вам обращаться - ФИО

Мы будем сообщать о статусе вашего заказа - Ваш e-mail

и т.д...

 

Вот как это можно реализовать?


  • 0

#7 CB9TOIIIA

CB9TOIIIA
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 04 November 2016 - 22:28

Это же Email order - в нем переопределять.


  • 0

#8 zeus07

zeus07
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 04 November 2016 - 22:29

Ну просто поля же подставляются туда как бы готовые уже. Как именно там их можно переопределить? Если можно, чуть подробнее, буду благодарен )


  • 0

#9 CB9TOIIIA

CB9TOIIIA
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 05 November 2016 - 23:06

Я делал сложным путем - я просто переверстывал форму email полностью по API - каждое поле.


  • 0

#10 zeus07

zeus07
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 6.6
  • posts: 1090
  • topics: 172

Posted 06 November 2016 - 00:52

А, понятно...Тогда буду ждать ответа Дениса...


  • 0




Click to return to top of page in style!