Página 1 de 2

Buscar campo no order.php da administração

Enviado: 26 Mar 2018, 18:51
por Cláudio
Olá pessoal,

estou tentando buscar o campo "custom_field" no arquivo order.php da administração (admin/controller/sale/order.php), mas não estou conseguindo.

No arquivo customer.php (admin/controller/customer/customer.php) eu usei esta array e acrescentei a linha em azul:

$data['customers'][] = array(
'custom_field' => json_decode($result['custom_field'], true),
'customer_id' => $result['customer_id'],
'name' => $result['name'],
... }

Mas no arquivo 'order.php' está difícil de achar um jeito. Gostaria da ajuda de vcs pra buscar este campo neste arquivo.

Agradeço pela atenção.

Re: Buscar campo no order.php da administração

Enviado: 27 Mar 2018, 09:34
por reds
Ola @Cláudio

O controller do Order.php já recebe os dados dos campos extras, basta apenas setar aonde gostaria de exibir os mesmos.
No mais note que os campos extras são exibidos no resumo do pedido na aba extras*

:ugeek:

Re: Buscar campo no order.php da administração

Enviado: 27 Mar 2018, 18:01
por Cláudio
Olá Reds,

o local onde estou tentando que apareça é na página 'order_list' (admin/view/template/sale/order_list.twig), mas já tentei de várias formas e não tem jeito. No máximo que consigo é aparecer como resultado "Array".

No 'customer.list' eu consegui usando {{ custom_field['3'] }} , mas eu tive que trazer esse dado da 'customer.php'.

Vc poderia, por gentileza, me passar a dica de como devo proceder. Não sei mais o que fazer.

Agradeço pela atenção.

Re: Buscar campo no order.php da administração

Enviado: 29 Mar 2018, 11:56
por Cláudio
Pessoal,

pra clarear mais a dúvida, gostaria de saber porque isto funciona:

(admin/controller/customer/customer.php)
$data['customers'][] = array(
'custom_field' => json_decode($result['custom_field'], true),
'customer_id' => $result['customer_id'],
'name' => $result['name'],
... }

CHAMANDO O CAMPO:
(customer_list.twig)
{{ customer.custom_field['3'] }} OK

-------------------------------------------------------------

E isto não funciona:

(admin/controller/sale/order.php)
foreach ($results as $result) {
$data['orders'][] = array(
'custom_field' => json_decode($result['custom_field'], true),
'order_id' => $result['order_id'],
'customer' => $result['customer'],
...}

CHAMANDO O CAMPO:
(order_list.twig)
{{ order.custom_field['3'] }} No máximo aparece Array.

------------------------------------------------------------------

Os arquivos são parecidos, porque funciona num e no outro não? Tem alguma pegadinha aí? :lol:

Re: Buscar campo no order.php da administração

Enviado: 29 Mar 2018, 13:10
por reds
Ola @Cláudio

Veja se esta carregando o model, algo como abaixo
Código: Selecionar todos
// Custom Fields
		$this->load->model('customer/custom_field');
:ugeek:

Re: Buscar campo no order.php da administração

Enviado: 29 Mar 2018, 17:22
por Cláudio
Reds,

No 'order.php' aparece duas vezes:
Código: Selecionar todos
// Custom Fields
		$this->load->model('customer/custom_field');

		$data['custom_fields'] = array();
Código: Selecionar todos
	// Custom Fields
			$this->load->model('customer/custom_field');

			$data['account_custom_fields'] = array();

E no 'customer.php' aparece 3 vezes:
Código: Selecionar todos
// Custom Fields
		$this->load->model('customer/custom_field');

		$data['custom_fields'] = array();
Código: Selecionar todos
// Custom field validation
		$this->load->model('customer/custom_field');

		$custom_fields = $this->model_customer_custom_field->getCustomFields(array('filter_customer_group_id' => $this->request->post['customer_group_id']));
Código: Selecionar todos
	public function customfield() {
		$json = array();

		$this->load->model('customer/custom_field');

Re: Buscar campo no order.php da administração

Enviado: 29 Mar 2018, 21:38
por reds
No Bloco que deseja os campos é preciso chamar novamente,
Ou seja se quer exibir os campos em order_list (veja se esta sendo chamado no bloco "protected function getList() {" do order.php do controller
:ugeek:

Re: Buscar campo no order.php da administração

Enviado: 01 Abr 2018, 20:46
por Cláudio
Reds, não tem jeito de funcionar isso. Parece que o "custom_field" foi escondido neste arquivo.

Vou deixar assim mesmo, aparecendo só o nome da pessoa.

Não entendo porque o Opencart desconsidera as informações da empresa em sua programação original.

Valeu Reds, agradeço pela sua atenção.

Re: Buscar campo no order.php da administração

Enviado: 02 Abr 2018, 08:34
por reds
Ola @Cláudio

Deixe so entender aonde esta tentando puxar o campo certinho, cola um print ai

Eu fiz recentemente a chamada dos campos aonde quero, pode ser que seja igual e podemos nos ajudar.

:ugeek:

Re: Buscar campo no order.php da administração

Enviado: 02 Abr 2018, 15:03
por Cláudio
Boa tarde Reds,

o local é a lista de pedidos da administração, em Vendas/Pedidos. Segue o print:

Imagem

Na coluna 'Cliente' será chamado conforme o tipo de cliente, se Física (Nome) ou Jurídica (Empresa):
Código: Selecionar todos
{% if customer_group_id == '1' %}
                      <td class="text-left">{{ order.customer }}</td>
                     {% else %}
                     <td class="text-left">{{ order.custom_field['3'] }}</td>
                     {% endif %}

O "customer_group_id" eu trouxe do sale/order.php assim:
Código: Selecionar todos
$data['customer_group_id'] = $this->config->get('config_customer_group_id');

O "custom_field" estou tentando trazer do sale/order.php assim: (no customer/customer.php funcionou)
Código: Selecionar todos
foreach ($results as $result) {
$data['orders'][] = array(
'custom_field' => json_decode($result['custom_field'], true),
'order_id' => $result['order_id'],
'customer' => $result['customer'],
...}