Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
29 мая 2013, 00:33
0
You forgot to disable plugin, that changed comment field.

Also, we need to save «No Sales Agent» immediatly after page loads, and then on change of select. So, the final result is:
<script type="text/javascript">
	$(document).ready(function() {
		// save default value
		miniShop2.Order.add('comment', 'No Sales Agent');
		miniShop2.Order.initialize('#msOrder');

	});

	var mydropdown = document.getElementById('salesAgent');

	mydropdown.onchange = function(){
	     miniShop2.Order.add('comment', this.value);
	}	
</script>
Василий Наумкин
29 мая 2013, 00:14
0
Where did you looking — in msOrder table, or in msOrderAddress?
Value must be in msOrderAddress.

Give me adress of your site, i will look on it.
Василий Наумкин
28 мая 2013, 23:41
0
Вообще не до того.
Василий Наумкин
28 мая 2013, 23:40
0
You do not need textfield at all.

Try this code:
<script type="text/javascript">
	$(document).ready(function() {
		miniShop2.Order.initialize('#msOrder');
	});

	var mydropdown = document.getElementById('salesAgent');

	mydropdown.onchange = function(){
	     miniShop2.Order.add('comment', this.value);
	}	
</script>
Василий Наумкин
28 мая 2013, 18:40
0
Добавь в массив
'syncsite' => true
Василий Наумкин
28 мая 2013, 18:38
0
Переключись на вкладку Network, потом кликни на последний ajax запрос и увидишь, что такого необычного для ExtJS тебе ответил сервер.

Если ошибка — она же должна быть и в логе сервера.
Василий Наумкин
28 мая 2013, 18:35
0
It is console of Google Chrome. Just open it on page with order and write text as in screenshot.

You will see the magic!
Василий Наумкин
28 мая 2013, 18:31
0
Yes, of course.

Plagin need to modify order on server side after user send it. If user manually adds data — we need to save it in order by ajax request.

By default MS2 saving all input and textfield automaticle, but i do not think about select =)
Василий Наумкин
28 мая 2013, 18:29
0
You can make experiment in the browser console
Василий Наумкин
28 мая 2013, 18:24
0
Oh, okay. Will be better, of you tell me it at the begining.

You just need to add selected info to order by ajax request. You can use this method in javascript
miniShop2.Order.add('comment', 'you text here');

Just try to bind this command on select.
Василий Наумкин
28 мая 2013, 18:03
0
Lets go to the root of topic.

How did you get «No Sales Agent» in the comment field on frontend? You set it by some snippet or what?
Василий Наумкин
28 мая 2013, 18:01
0
You need to set in this plugin needed string. Not from frontend form, but in plugin.

Here you can check any user data, session, cart, any what you need and save it in comment field in order.

Understand?

Forget comment in frontend form, you do not need it if you want to save some technical data.
Василий Наумкин
28 мая 2013, 16:39
0
No, i mean msOnSubmitOrder — it exists in version 2.0.1-beta from our repository.
Василий Наумкин
28 мая 2013, 16:16
0
Look at minishop2.com — everything is okay with comment.
I think it is because form not submitting trough ajax, but fields saving when changed.

Try to add needed fields manually by plugin on event msOnSubmitOrder:
<?php
switch($modx->event->name) {
	case 'msOnSubmitOrder':
		$order->add('comment', 'bla-bla-bla');
	break;
}
Василий Наумкин
28 мая 2013, 16:03
0
Не встречал такого ни разу.
Василий Наумкин
28 мая 2013, 11:17
0
Значит, ошибка где-то еще. Ты обратил внимание, что это preg_replace, а не str_replace, как у тебя в названии темы?

Вот онлайн проверка выражения, как видишь — ссылка твоя в него попадает.
Василий Наумкин
28 мая 2013, 11:09
0
$text = preg_replace('/<a\s(.*?)\/a>/i', '', $text);
Василий Наумкин
28 мая 2013, 10:08
0
Поди обновляешь не через процессор и кэш ресурса не чистишь?
Василий Наумкин
28 мая 2013, 07:01
0
Это у меня ошибка, поправил. Хотя ты тоже присваивал number вместо num =)

В любом случае, такое простое изменение нумерации не прокатит, потому что она собьется в БД. Тебе нужно сделать как тут, только изменить метод getnum().

Видишь, в моём методе нумерация завязана на символ "/", убирать его нельзя. Поэтому, если хочешь от него избавиться нужно изменить алгоритм присвоения номеров, без всяких плагинов.