Перейти к содержанию
Форум поддержки пользователей VamShop

Восстановление пароля


Рекомендуемые сообщения

После обновления также отвалилась форма восстановления пароля.

 

Во-первых нет валидации, а во вторых после отправки формы выдает ошибку

 

Error: The requested address '/site/password_recovery' was not found on this server.

Ссылка на сообщение
Поделиться на другие сайты
Проверьте размер Ваших файлов /app/Contrller/SiteController.php и /app/Vendor/smarty_vam_plugins/function.password_recovery.php
 
Размер должен совпадать с файлами из архива http://vamshop.ru/vamshop2.zip
 
По поводу обновления.
 
В обновлении правился главный шаблон.
 
Посмотрите на demo.vamshop.com/admin
 
В Админке - Оформление - Шаблоны - Основной шаблон.
 
Вам нужно после {stylesheet} добавить:
  <script>{literal}(function(w,d,u){w.readyQ=[];w.bindReadyQ=[];function p(x,y){if(x=="ready"){w.bindReadyQ.push(y);}else{w.readyQ.push(x);}};var a={ready:p,bind:p};w.$=w.jQuery=function(f){if(f===d||f===u){return a}else{p(f)}}})(window,document){/literal}</script>
 
 
 
Все скрипты:
{bender src="{base_path}/js/jquery/jquery.min.js"}
{bender src="{base_path}/js/bootstrap3/bootstrap.min.js"}
{bender src="{base_path}/js/ie10-viewport-bug-workaround.js"}
{bender src="{base_path}/js/jquery/plugins/jquery.cookie.js"}
{bender src="{base_path}/js/jquery/plugins/jpushmenu/jpushmenu.js"}
{bender src="{base_path}/js/jquery/plugins/colorbox/jquery.colorbox-min.js"}
{bender src="{base_path}/js/jquery/plugins/bxslider/jquery.bxslider.min.js"}
{bender src="{base_path}/js/jquery/plugins/sequence/jquery.sequence-min.js"}
{bender src="{base_path}/js/jquery/plugins/color-picker/spectrum.js"}
{bender src="{base_path}/js/jquery/plugins/validate/jquery.validate.pack.js"}
{bender src="{base_path}/js/vamshop.js"}
{bender output="{base_path}/js/vamshop-packed.js"}
<!--[if lt IE 9]>
<script type="text/javascript" src="{base_path}/js/html5.js"></script>
<script type="text/javascript" src="{base_path}/js/respond.min.js"></script>
<![endif]-->
 
 
 
перенести вниз, поставить над </body>
 
и после этих скриптов, т.е. перед самым /body, после всех bender ... добавить:
 
<script>{literal}(function($,d){$.each(readyQ,function(i,f){$(f)});$.each(bindReadyQ,function(i,f){$(d).bind("ready",f)})})(jQuery,document){/literal}</script>
 
 
 
 
Эти две строки script сверху и снизу нужны для того, что б jQuery код правильно работал.
 
т.е. сам jQuery подключется внизу ведь, а jquery код на странице например восстановления пароля находится выше, над подключением jquery.js, вот что б не было ошибок jQuery модулей, в том числе валидации, невидимой каптчи и т.д. и придуман этот код.
 
Вот здесь подробнее об этом - http://writing.colin-gourlay.com/safely-using-ready-before-including-jquery/
Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

А в Админке - Заказы - Покупателя появляется клиент?!

 

Если нет, то, видимо, дело в невидимой каптче.

 

Опять же, может удалили что-то в /app/Vendor/smarty/vam_plugins/function.registraion_form.php

 

Может свой шаблон делали и удалили js код каптчи или html-код каптчи.

Ссылка на сообщение
Поделиться на другие сайты

Сейчас не проверяется уникальность email, видимо, не может зайти потому что уже есть запись с таким email и скрипт проверяет старую запись.

 

Для пробы, зарегистрируйтесь под вымышленным каким-нибудь адресом типа 1234abc@abc.com

и попробуйте после регистрации зайти под этим email и паролем.

Ссылка на сообщение
Поделиться на другие сайты

Да, заходит. Все ок.

 

Если принимаете пожелания по магазину:

1) Сделать поиск пользователей в админке

2) Сделать проверку по email

Ссылка на сообщение
Поделиться на другие сайты

Вот попробуйте этот файл /app/Controller/SiteController.php

 

Он проверяет последний email, т.е. если два одинаковых в базе email, берётся последний.

SiteController.php

Ссылка на сообщение
Поделиться на другие сайты

В будущих версиях наверное добавим.

 

Но тут тоже есть свои тонкости, всё-таки рассчитано на то, что все заказы - оформляют гости, т.е. неавторизованные.

 

Думаю, что посетителям просто лень санчала авторизоваться, вспоминать свой паль и т.д., сразу идут на оформление заказа.

 

Если делать уникальный email, это будут опять ошибки, типа уже есть такой клиент, авторизуйтесь.

 

Это тоже усложнит оформление.

 

Наверное лучше сделать так как я выложит правленный файл SiteController.php

 

email - не уникальный, т.е. можно сколько угодно раз зарегистироваться с одним и тем же email, ошибок писать не будет.

 

Просто поправил логин и напоминалку, запрос в базу идёт не самой старой записи с таким email, а самой новой запись с таким email.

 

По идее, это решит проблему, т.е. не будет проблем с авторизацией напоминалкой и тем не мнее, не нужно будет иметь уникальный email.

Ссылка на сообщение
Поделиться на другие сайты

Что б добавить в админский поиск клиентов по email, имени, в phpMyAdmin, в закладке SQL выполните запрос:

DROP TABLE IF EXISTS search_tables;
CREATE TABLE `search_tables` (
  `id` int(10) auto_increment,
  `model` varchar(255) collate utf8_unicode_ci,
  `field` varchar(255) collate utf8_unicode_ci,
  `url` varchar(255) collate utf8_unicode_ci,
  `edit_field` varchar(255) collate utf8_unicode_ci,
  `alternate_anchor` varchar(255) collate utf8_unicode_ci,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
INSERT INTO `search_tables` (`id`, `model`, `field`, `url`, `edit_field`, `alternate_anchor`) VALUES 
(1, 'Content', 'alias', '/contents/admin_edit/', 'id', ''),
(2, 'ContentDescription', 'name', '/contents/admin_edit/', 'content_id', ''),
(3, 'ContentDescription', 'description', '/contents/admin_edit/', 'content_id', 'name'),
(4, 'ContentDescription', 'short_description', '/contents/admin_edit/', 'content_id', 'name'),
(5, 'ContentProduct', 'model', '/contents/admin_edit/', 'content_id', ''),
(6, 'ContentLink', 'url', '/contents/admin_edit/', 'content_id', ''),
(7, 'Language', 'name', '/languages/admin_edit/', 'id', ''),
(8, 'Template', 'name', '/templates/admin_edit/', 'id', ''),
(9, 'Template', 'template', '/templates/admin_edit/', 'id', 'name'),
(10, 'Stylesheet', 'name', '/stylesheets/admin_edit/', 'id', ''),
(11, 'Stylesheet', 'stylesheet', '/stylesheets/admin_edit/', 'id', 'name'),
(12, 'Customer', 'name', '/customers/admin_edit/', 'id', ''),
(13, 'Customer', 'email', '/customers/admin_edit/', 'id', '');
 
Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...