Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Por favor, poste aqui todas as dúvidas que você está tendo sobre a instalação, atualização ou configuração do OpenCart v3.x
#77604
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.
#77612
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:
#77618
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.
#77638
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:
#77647
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');
#77649
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:
#77669
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.
#77673
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:
#77687
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'],
...}

Night games. One night, no worries Real Women P[…]

@Manoel Vidal Poderia me ajudar com 2 coisas n[…]

Looking for a partner for an unforgettable night? […]

Vou verificar, Obrigado