Jump to content

Recommended Posts

Всем привет,

 

Помогите пожалуйста, сам разобраться не могу 

 

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



dataLayer = [{
    'transactionId': '1234',
    'transactionAffiliation': 'Acme Clothing',
    'transactionTotal': '11.99',
    'transactionTax': '1.29',
    'transactionShipping': '5',
    'transactionProducts': [{
        'sku': 'DD44',
        'name': 'T-Shirt',
        'category': 'Apparel',
        'price': '11.99',
        'quantity': '1'
    },{
        'sku': 'AA1243544',
        'name': 'Socks',
        'category': 'Apparel',
        'price': '9.99',
        'quantity': '2'
    }]
}];

У меня собственно проблема как в последнем массиве заменить },{ на }

 

вот собственно, что у меня есть есть сейчас







dataLayer = [{
'transactionId': '<?php echo $order['order_id']; ?>',
'transactionAffiliation': '<?php echo $order['store_name']; ?>',
'transactionTotal': '<?php echo $order['order_total']; ?>',
'transactionTax': '<?php echo $order['order_tax']; ?>',
'transactionShipping': '<?php echo $order['order_shipping']; ?>',
		'transactionProducts': [{
			<?php foreach($order_products as $order_product) { ?>	
				'sku': '<?php echo $order_product['sku']; ?>',
				'name': '<?php echo $order_product['name']; ?>',
				'category': '<?php echo $order_product['category']; ?>',
				'price': '<?php echo $order_product['price']; ?>',
				'quantity': '<?php echo $order_product['quantity']; ?>'
			},{
			<?php } ?>
		}]
}];

Спасибо за помощь.

 

Share this post


Link to post
Share on other sites

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

 

Или же сделать условие типа:

 

 

dataLayer = [{
'transactionId': '<?php echo $order['order_id']; ?>',
'transactionAffiliation': '<?php echo $order['store_name']; ?>',
'transactionTotal': '<?php echo $order['order_total']; ?>',
'transactionTax': '<?php echo $order['order_tax']; ?>',
'transactionShipping': '<?php echo $order['order_shipping']; ?>',
  'transactionProducts': [{
   <?php foreach($order_products as $order_product) { ?> 
    'sku': '<?php echo $order_product['sku']; ?>',
    'name': '<?php echo $order_product['name']; ?>',
    'category': '<?php echo $order_product['category']; ?>',
    'price': '<?php echo $order_product['price']; ?>',
    'quantity': '<?php echo $order_product['quantity']; ?>'
<?php if ($order_product === end($order_products)) { echo ' } '}else{ echo ' },{ ' } ?>
   <?php } ?>
  }]
}];
В общем как то так...

Share this post


Link to post
Share on other sites

В общем как то так...

Спасибо огромное !!!

правда есть проблема с этой строкой

 

<?php if ($order_product === end($order_products)) { echo ' } '}else{ echo ' },{ ' } ?>

Share this post


Link to post
Share on other sites

Пожалуйста, если помогло... а так, то в теории писал, на практике же только вам проверять, но примерно направление думаю понятно.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.