Login register спасибо ваш заказ отправлен. Заказ computeruniverse: внесение изменений после оплаты. Как удалить товар из оплаченного заказа

Dear customer ,good day.
Have you check my previous message?
and we sincerely apologize for the inconvenient caused,
once we accept your order , we will be responsible for you, we will confirm that you receive the item in good condition ,so please don"t worry about it , we promise about it , you will received the parcel soon.
so could you please kindly help us to cancel the dispute first ??
Look forward to hearing from your good news , many thanks
Best regards
Anna

Dear customer ,good day. Have you check my previous message? and we sincerely apologize for the inconvenient caused, once we accept your order , we will be responsible for you, we will confirm that you receive the item in good condition ,so please don"t worry about it , we promise about it , you will received the parcel soon. so could you please kindly help us to cancel the dispute first ?? Look forward to hearing from your good news , many thanks Best regards Anna

Определить язык Клингонский Клингонский (pIqaD) азербайджанский албанский английский арабский армянский африкаанс баскский белорусский бенгальский болгарский боснийский валлийский венгерский вьетнамский галисийский греческий грузинский гуджарати датский зулу иврит игбо идиш индонезийский ирландский исландский испанский итальянский йоруба казахский каннада каталанский китайский китайский традиционный корейский креольский (Гаити) кхмерский лаосский латынь латышский литовский македонский малагасийский малайский малайялам мальтийский маори маратхи монгольский немецкий непали нидерландский норвежский панджаби персидский польский португальский румынский русский себуанский сербский сесото словацкий словенский суахили суданский тагальский тайский тамильский телугу турецкий узбекский украинский урду финский французский хауса хинди хмонг хорватский чева чешский шведский эсперанто эстонский яванский японский Клингонский Клингонский (pIqaD) азербайджанский албанский английский арабский армянский африкаанс баскский белорусский бенгальский болгарский боснийский валлийский венгерский вьетнамский галисийский греческий грузинский гуджарати датский зулу иврит игбо идиш индонезийский ирландский исландский испанский итальянский йоруба казахский каннада каталанский китайский китайский традиционный корейский креольский (Гаити) кхмерский лаосский латынь латышский литовский македонский малагасийский малайский малайялам мальтийский маори маратхи монгольский немецкий непали нидерландский норвежский панджаби персидский польский португальский румынский русский себуанский сербский сесото словацкий словенский суахили суданский тагальский тайский тамильский телугу турецкий узбекский украинский урду финский французский хауса хинди хмонг хорватский чева чешский шведский эсперанто эстонский яванский японский Источник: Цель:

Результаты (русский ) 1:

Уважаемый покупатель, добрый день.У вас проверить мое предыдущее сообщение? и мы искренне приносим извинения за неудобный причиненный, После того, как мы принимаем ваш заказ, мы будем нести ответственность для вас, мы подтвердим, что вы получите пункт в хорошем состоянии, так что пожалуйста, не беспокойтесь об этом, мы обещаем об этом, вы скоро получит посылку.так могли бы вы любезно помочь нам сначала отменить спор?Ждем от ваших хороших новостей, большое спасибо Всего хорошего Анна

переводится, пожалуйста, подождите..

Результаты (русский ) 2:

Уважаемый клиент, хороший день.
Вы проверить мое предыдущее сообщение?
И мы приносим извинения за неудобного ущерб,
как только мы принимаем ваш заказ, мы будем нести ответственность за вас, мы подтвердим, что вы получите деталь в хорошем состоянии, так что пожалуйста, не "т беспокоиться об этом, мы обещаем об этом, вы получили посылку в ближайшее время.
так что не могли бы вы, пожалуйста, помогите нам, чтобы отменить спор первый??
Посмотрите вперед к слышать от ваших хороших новостей, большое спасибо с
наилучшими пожеланиями
Анна

Нам понадобятся следующие страницы:

  • Страница регистрации с формой для регистрации
  • Страница активации аккаунта
  • Страница восстановления пароля
  • Страница сброса пароля

Форма входа на сайт будет размещаться на всех страницах сайта (например, в хедере).

Вот такую страницу регистрации мы хотим получить:

Здесь тип учетной записи будет определять, в какую группу мы зарегистрируем пользователя. Так же полем для идентификации (username) будет электронная почта.

Добавим на страницу вызов сниппета Register :

[[!Register? &submitVar=`register-btn` &activationResourceId=`27` &activationEmailTpl=`Email.Activation` &activationEmailSubject=`Вы зарегистрированы на сайте example.com` &placeholderPrefix=`reg.` &successMsg=`

Спасибо за регистрацию. На вашу электронную почту [[!+reg.email]] отправлено письмо со ссылкой на активацию аккаунта. Пройдите по этой ссылке, чтобы завершить регистрацию.
` &usernameField=`email` &usergroupsField=`reg_type` &customValidators=`valueIn` &validate=`username:blank, reg_type:valueIn=^Readers;Writers;Idlers ^, fullname:required:minLength=^6^, password:required:minLength=^6^, password_confirm:password_confirm=^password^, email:required:email` ]] [[!+error.message:default=`[[!$Register.Form]]`]]

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

Разберем параметры вызова:

&submitVar=`register-btn` - указывает атрибут name тега input . То есть сниппет сработает, только если отправлена форма кнопкой с определенным именем.

&activationResourceId=`42` - забегая вперед, 42 – это идентификатор страницы, на которой мы будет активировать пользователя.

&activationEmailTpl=`Email.Activation` - чанк с письмом активации, о нем позже.

&placeholderPrefix=`reg.` - указывает, что все плейсхолдеры, за редким исключением (об этом дальше), которые создаются в данном сниппете, должны начинаться с «reg.».

&successMsg – сообщение, которое выведется при успешной отправке формы. Заметьте, что в нем можно указывать значения из формы и любые другие теги. Данное сообщение запишется в плейсхолдер [[!+error.message]]. Довольно странное название, да и в документации на данный момент ошибка. Там написано [[!+reg.error.message]], но из кода компонента следует, что это не так.

&usernameField=`email` - указывает, что в качестве имени пользователя будет использоваться поле email.

&usergroupsField=`reg_type` - определяет поле, устанавливающее группу, в которую будет добавлен новый пользователь.

&customValidators=`valueIn` - указывает дополнительные валидаторы, которые нужно создать вручную.

&validate – валидаторы задаются через запятую для каждого поля, а если требуется несколько валидаторов для одного поля, то они еще разделяются двоеточием. Разберем их отдельно:

username:blank – нехитрая ловушка для спама, означает, что поле username должно остаться пустое.

reg_type:valueIn=^Readers;Writers;Idlers^ - ограничиваем возможные группы тремя указанными. В изначальной поставке такого нет и злые хацкеры могут зарегиться, например, под группой Administrator (если вы ее не переименовали).

fullname:required:minLength=^6^ - поле fullname должно быть не пусто и содержать хотя бы 6 символов.

password:required:minLength=^6^ - аналогично для пароля.

password_confirm:password_confirm=^password^ - пароли должны совпадать.

email:required:email – электронная почта должна быть не пуста и являться собственно почтой.

Конструкция [[!+error.message:default=`[[!$Register.Form]]`]] выводит сообщение об успешной отправке формы или чанк формы, если вы только зашли на страницу или заполнили ее неправильно.

Создадим вышеупомянутый валидатор valueIn . Для этого создаем сниппет с названием valueIn и следующим кодом:

$valueIn = explode(";", $param); return in_array($value, $valueIn);

Теперь требуется создать чанк Register.Form . В данном случае он будет следующим (используется Bootstrap 3):

[[!+reg.error.fullname:notempty=`
[[!+reg.error.fullname]]
`]]
[[!+reg.error.email:notempty=`
[[!+reg.error.email]]
`]]
[[!+reg.error.password:notempty=`
[[!+reg.error.password]]
`]]
[[!+reg.error.password_confirm:notempty=`
[[!+reg.error.password_confirm]]
`]]

Все поля обязательны для заполнения

В этой форме замечу несколько вещей, касающихся MODX:


– форма обрабатывается на той же странице, на которой показывается.

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

[[!+reg.error.email:notempty=`[[!+reg.error.email]]`]] – опять же в случае провала под полем отобразится сообщение об ошибке.

– обязательно указываем имя кнопки, если ранее устанавливали свойство &submitVar .


Теперь осталось создать чанк Email.Activation с письмом, которое сайт отправляет пользователю:

Спасибо за регистрацию! Чтобы активировать ваш аккаунт, пожалуйста, перейдите по следующей ссылке:

Активировать аккаунт на сайте Example.Com

После активации, вы сможете войти, указав электронную почту и пароль:

Логин: [[+email]]

Пароль: [[+password]]


Здесь можно использовать плейсхолдеры с именами полей формы. Заметьте, что они пишутся уже без «reg.». Так же добавляется плейсхолдер [[+confirmUrl]] , в котором уже сгенерирована ссылка для активации, даже ничего не нужно делать.


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

[[!ConfirmRegister? &redirectTo=`1`]]

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


Приступим к настройке входа в профиль пользователя. Форма авторизации будет простая:

Добавим ее, вызвав в нужном месте:

[[!Login? &loginTpl=`Auth.Login` &logoutTpl=`Auth.Logout` &errTpl=`Auth.Login.Error` &actionKey=`action` &loginKey=`login` &redirectToPrior=`1` &logoutResourceId=`1`]]

Здесь мы указываем чанк с формой для входа, нарисованной выше (&loginTpl=`Auth.Login` ), чанк с кодом, показывающимся авторизованным пользователям (&logoutTpl=`Auth.Logout` ), небольшой чанк с выводом ошибки входа (&errTpl=`Auth.Login.Error` ). Далее следуют параметры:

&actionKey=`action` и &loginKey=`login` - основные идентификаторы для обработки запроса. Первый означает имя параметра в POST-запросе, а второй его значение. То есть форма должна передать значение $_POST["action"]="login", чтобы сниппет Login ее обработал.

&redirectToPrior=`1` - означает, что после входа мы переместимся на ту же страницу, с которой входили.

&logoutResourceId=`1` - при выходе из профиля мы перейдем на страницу с идентификатором 1.


Чанк Auth.Login :

[[!+errors]]

Форма обрабатывается на этой же странице. Если случилась ошибка, то она будет выведена ниже формы в плейсхолдере [[!+errors]]. Так же нужно не забыть ссылки на ресурсы с Регистрацией и восстановлением пароля. Заметьте, что в поле для электронной почты name=«username» – именно в это поле продублировал почту сниппет Register , и оно является для пользователей уникальным.


Чанк Auth.Logout:

[]` &tpl=`User.HeaderBadge` &innerJoin=`{"modUserGroupMember":{"alias":"modUserGroupMember","on":"modUser.id = modUserGroupMember.member"}, "modUserGroup":{"alias":"modUserGroup", "on":"modUserGroupMember.user_group = modUserGroup.id"}}` &select=`{"modUserGroup":{"group_name": "modUserGroup.name"}}` ]]

Выход из профиля

Эта часть не обязательна, если все пользователи в одной группе. Но, чтобы отобразить группу пользователя, стандартных возможностей сниппетов, входящих в компонент Login, недостаточно. Можно написать простенький сниппет для получения названия группы на xPDO , а можно воспользоваться уже готовым сниппетом pdoUsers , входящим в пакет pdoTools . Параметры, указанные в этом сниппете:

&users=`[[+modx.user.id]]` - выбираем только текущего авторизованного пользователя.

&tpl=`User.HeaderBadge` - чанк, в котором мы выведем краткую информацию о пользователе.

&innerJoin – JSON с джойнами таблиц групп пользователей, описание выходит за рамки статьи. Главное это работает J.

&select – JSON, добавляющий в выборку поле modUserGroup.name с алиасом group_name.


Чанк с бейджиком пользователя User.HeaderBadge :

Вы вошли как [[+group_name]] [[+fullname]] Личный кабинет

Если бы нам не нужна была группа пользователя, то содержимое этого чанка можно было бы вставить сразу в чанк Auth.Logout . Здесь можно выводить плейсхолдеры с любыми полями modUser и modUserProfile плюс c помощью pdoUsers добавилось поле group_name .


В чанке Auth.Login.Error простой вывод ошибки:

[[+msg]]

С логином мы закончили. На этом этапе пользователь может зарегистрироваться и успешно войти. Но что, если он забыл пароль? В этом случае он жмякает на ссылку «Забыли пароль?» и переходит на страницу восстановления пароля, которую мы предварительно создаем и помещаем туда вызов:

[[!ForgotPassword? &tpl=`Auth.ForgotPass.Form` &submitVar=`forgotpass` &errTpl=`Auth.Login.Error` &sentTpl=`Auth.ForgotPass.Sent` &emailTpl=`Email.ForgotPass` &emailSubject=`Восстановление доступа к аккаунту на сайте Example.Com` &resetResourceId=`29`]]

Разберем параметры этого вызова:

&tpl=`Auth.ForgotPass.Form` - чанк формы, в которой пользователь введет свой email.

&submitVar=`forgotpass` - в случае сниппета ForgotPassword достаточно, чтобы параметр с таким названием был передан на сервер и не важно с каким непустым значением.

&errTpl=`Auth.Login.Error ` - вывод ошибки аналогично сниппету Login

&sentTpl=`Auth.ForgotPass.Sent` - в этом чанке содержится контент, который будет выведен в случае успешной отправки письма на смену пароля.

&emailTpl=`Email.ForgotPass` - собственно письмо содержится здесь.

&emailSubject =`Восстановление доступа к аккаунту на сайте Example.Com` - заголовок письма.

&resetResourceId=`29` - идентификатор ресурса, на котором будет производиться сброс пароля на новый.


Чанк Auth.ForgotPass.Form:

[[+loginfp.errors]]

Нового здесь только другой способ вывода ошибок в плейсхолдере [[+loginfp.errors]] и передача параметра, что именно эта форма сбрасывает пароль: .

Auth.ForgotPass.Sent:

Информация по восстановлению аккаунта выслана на указанный электронный ящик: [[+email]].

Здесь можно использовать данные из формы выше.


Email.ForgotPass:

[[+fullname]],

Чтобы активировать свой новый пароль, пожалуйста, перейдите по следующей ссылке:

Хочу новый пароль

Если все прошло успешно, вы сможете войти в свой профиль с помощью следующих данных:

Логин: [[+username]]

Пароль: [[+password]]

Спасибо,
Администрация сайта Example.Com

Все очень похоже на чанк письма активации, только пароль здесь сгенерированный в сниппете.


Завершающим штрихом осталось создать ресурс, на который пользователь будет переходить из письма для обновления пароля. В этом ресурсе нам нужен вызов:

[[!ResetPassword:empty=`

Вы не заказывали сброс пароля. Возможно вы ошиблись адресом. Вы можете перейти на Главную страницу сайта или воспользоваться меню выше.

`? &tpl=`Auth.ForgotPass.Reset`]]

Этот код выведет сообщение, если вдруг кто-то забредет на данную страницу повторно или просто случайно. А если пароль успешно сброшен, выведется сообщение из чанка Auth.ForgotPass.Reset:

Ваш пароль успешно сброшен на указанный в письме. Теперь вы можете войти под этим паролем. Не забудьте сменить его в профиле.

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


1. Создаем страницу регистрации и добавляем на нее вызов сниппета Register .

2. Создаем чанки с формой регистрации Register.Form и письмом активации Email.Activation .

3. Создаем страницу подтверждения регистрации и размещаем на ней вызов сниппета ConfirmRegister .

4. Добавляем вызов сниппета Login туда, где хотим разместить форму входа и бейджик авторизованного пользователя.

5. Создаем чанк с формой входа Auth.Login , чанк с информацией об авторизованном пользователе Auth.Logout , чанк с сообщением об ошибке Auth.Login.Error .

6. Создаем страницу восстановления пароля и размещаем на ней вызов сниппета ForgotPassword .

7. Создаем чанк Auth.ForgotPass.Form с формой для восстановления пароля, чанк Auth.ForgotPass.Sent с сообщением об успешной отправке письма, чанк Email.ForgotPass с письмом на сброс пароля.

8. Создаем ресурс с окончательным сбросом пароля и размещаем в нем вызов сниппета ResetPassword .

9. Создаем чанк Auth.ForgotPass.Reset с сообщением об успешном сбросе пароля.

На этом все. Буду рад любым дополнениям и замечаниям.

При совершении покупок в немецком магазине «КомпьютерЮниверс » периодически возникает необходимость внести изменения в уже оформленный и оплаченный заказ. Так случается, когда срок поставки необходимого товара по нескольку раз переноситься на неопределенный срок либо меняются планы самого покупателя.

Периодически бывают ситуации, когда деньги с карты «списались», но признаков успешного выполнения заказа нет . В таких случаях магазину необходимо необходимо обратиться в ваш банк с просьбой «разморозить» денежные средства либо ничего не делать ждать около 30 дней, когда это произойдёт автоматически. Один из вариантов решение проблемы при списании денег с карты это обратить в техническую поддержку магазина.

Обработка оплаченных заказов computeruniverse происходит согласно времени работы магазина с понедельника по пятницу 8:00 - 19:00 и по субботам 9:00 - 14:00 по германскому времени то есть разница во времени с Москвой минус 1 час с марта по октябрь или минус 2 часа с ноября по февраль.

Внесение изменений в заказ:

Как заменить один товар на другой в заказе

Иногда складывается такая ситуация, что почти все товары в заказе уже давно в статусе «на складе и готовы к отправке», а срок поставки одной менее значимой позиции переносится на неопределенный срок. Самый лучший вариант – это найти аналогичный товар и произвести замену в заказе.

Для этого не без помощи он-лайн переводчика пишется электронное письмо на адрес магазина [email protected] следующего содержания:

Hello Computeruniverse team, Order number 2011745983081722 date 05.01.2014 I ask to remove from it the following goods: Severin ZB8689 Caffe Tradizionale — Article number: 90466667 and add in my order the following goods: Cafe Schümli — Article number: 90494449 Thanks in advance. Best regards Yura.

Заказ № 2011745983081722 от 05.01.2014 Прошу удалить из него следующие товары: Severin ZB8689 Caffe Tradizionale – артикул № 90466667 и добавить в заказ следующее: Cafe Schümli – артикул № 90494449. Заранее спасибо .

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

Как удалить товар из оплаченного заказа

B первую очередь, это проще сделать через интерфейс учетной записи, просто нажав соответствующую иконку напротив нужного товара или купона computeruniverse в заказе.

Затем выбрать причину из предложенных и подтвердить удаление.




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


Иногда эта опция недоступна и приходится писать соответствующее письмо в саппорт магазин. Вот примерный текст такого письма:

Order number 2013031422144215 date 14.03.2013 I ask to remove from it the following goods: Apple Lightning auf Micro USB Adapter ID: 90481631, SKU: MD820ZM/A. And to make recalculationt.

Номер заказа 2013031422144215 дат 14.03.2013 Я прошу удалять из него следующие товары: Apple Lightning auf Micro USB Adapter ID: 90481631, SKU: MD820ZM/A и произвести перерасчёт.

При этом не сразу, а через некотрое время обязательно должно придти письмо с темой «Confirm of Cancellation, Cust.No.: 22***** » /«Удаление подтверждено».


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

P . S . Please always include any previous correspondence in your reply , so we ll be able to follow your inquiry in all detail and reduce processing time .

Не помешает быть вежливы и тактичными, используя фразы типа thanks for your message/«спасибо ответ» и thanks in advance/«заранее благодарен».

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

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

Основная сложность при этом в необходимости внесения доплаты за новый товар в заказе. Для этого необходимая вещь добавляется в корзину, оплачивается новый заказ, а в процессе его оформления на этапе «Последняя проверка! Все правильно?» в «Примечания и другие сведения » необходимо кликнуть по ссылке «изменить «.


В открывшемся окне необходимо указать примерно следующее: «Прошу объединить этот заказ с другим моим заказом номер … от 07.11.2014» / «I ask to unite this order with other my order number … dated 07.11.2014» — и нажать «применить изменения «.

Данный метод добавления товара в заказ работает не всегда, поэтому при такой необходимости рекомендуем вам отменить прежнюю полностью покупку, дождаться возврата денег на карту и оплатить весь обновлённый заказ снова.

При успешном проведении данной манипуляции и обработки второго заказа в меню учетной записи «Управления заказами » появится соответствующая запись:»Ваши заказы будут отправлены вместе! В соответствии с Вашими пожеланиями мы вышлем Вам все перечисленные ниже заказы одним разом. Обратите на сумму в конце страницы «,а в самом низу страницы будет указана общая сумма 2-х объединённых заказов с учетом перерасчета.

Фактическая разница (сумма доставки + плата за перевод денег за второй заказ) вернётся на карту через 30 дней с момента оплаты, как только произойдет «разморозка» оплаченных денежных средств.

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

Полная отмена заказа в computeruniverse

При полной отмене заказа, например, по причине технической невозможности отправки магазином конкретного товара либо по желанию покупателя на электронный почтовый ящик приходит обычно письмо с вложением под названием Сredit **** for invoice ****.

Как правило, через некоторое время деньги поступают на карту, с которой производилась оплата заказа. Скорость поступления средств на данном этапе больше зависит от банка, чем от немецкого магазина.

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

Поскольку этот заказ содержит зачисленные по акции средства, Вы можете аннулировать его только по электронной почте или телефону.Отправьте свое пожелание об изменении по адресу [email protected] или позвоните нам по номеру 06031/7910-0

Звонок в клиентскую службу магазина Computeruniverse

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

После дозвона, автоматического поднятия трубки на том конце провода и начала тарификации вы около 2 минуты будете