Добрый день.
Вдруг обратил внимание, что в профиле не выводится дата рождения новых пользователей. Сайт собран на 1.10, без обновлений.
При заполнении даты в форме, она благополучно попадает в таблицу cms_users, столбец birthdate (прошу прощения за возможную косноязычность, я не программист), а в профиле не выводится. У более ранних пользователей все в порядке. Что еще нужно проверить?
#1
7 июня 2013 в 18:36
#2
7 июня 2013 в 20:18
что-то потом делали? по идее если есть в базе то должно выводить? посмотрите те у которых дата выводится и те у кого нет, формат даты нормальный? одинаковый?У более ранних пользователей все в порядке
просто чудес не бывает :)
#3
7 июня 2013 в 20:54
Согласен, чудес не бывает.
Формат даты, в частности в базе ГГГГ-ММ-ДД, одинаковый для всех пользователей, заполнены цифрами реальных дат, типа "1978-03-24". Есть даты 0000-00-00, понятно, выводиться не должны.
Может быть при добавлении даты, кроме колонки "birthdate", где то в базе, возможно еще прописывается како-ето значение "да" "нет"(дата внесена или нет).
Насчет того, что я делал — затрудняюсь вспомнить, какие модули добавлял именно в период сбоя. А проиизошло это еще офлайн на денвере. И дата выводится только у самого первого пользователя после админа. А так как все выводилось, то я больше не обращал внимание на то, что происходит у других пользователей.
Знать бы какие файлы обрабатывают запросы ввода вывода, тогда может кто что и подскажет.
Формат даты, в частности в базе ГГГГ-ММ-ДД, одинаковый для всех пользователей, заполнены цифрами реальных дат, типа "1978-03-24". Есть даты 0000-00-00, понятно, выводиться не должны.
Может быть при добавлении даты, кроме колонки "birthdate", где то в базе, возможно еще прописывается како-ето значение "да" "нет"(дата внесена или нет).
Насчет того, что я делал — затрудняюсь вспомнить, какие модули добавлял именно в период сбоя. А проиизошло это еще офлайн на денвере. И дата выводится только у самого первого пользователя после админа. А так как все выводилось, то я больше не обращал внимание на то, что происходит у других пользователей.
Знать бы какие файлы обрабатывают запросы ввода вывода, тогда может кто что и подскажет.
Сегодня в 17:09
#4
7 июня 2013 в 21:10
Вот код, который был в файле "com_users_profile.tpl" по дефолту
{if $usr.showbirth && $usr.fbirthdate}
<div class="field">
<div class="title">{$LANG.BIRTH}:</div>
<div class="value">{$usr.fbirthdate}</div>
</div>
{/if}
А вот то, как я его изменил
{if $usr.showbirth && $usr.fbirthdate}
<div class="con_heading_profile">/ {$usr.fbirthdate} г.</div>
{/if}
Всего ничего, убрал вывод текста даты и добавил "г."
Даже когда вернул код в дефолт, ничего не изменилось.
{if $usr.showbirth && $usr.fbirthdate}
<div class="field">
<div class="title">{$LANG.BIRTH}:</div>
<div class="value">{$usr.fbirthdate}</div>
</div>
{/if}
А вот то, как я его изменил
{if $usr.showbirth && $usr.fbirthdate}
<div class="con_heading_profile">/ {$usr.fbirthdate} г.</div>
{/if}
Всего ничего, убрал вывод текста даты и добавил "г."
Даже когда вернул код в дефолт, ничего не изменилось.
#5
7 июня 2013 в 21:53
по сути больше вроде не где, есть еще
в \components\users\model.php
$user['fbirthdate'] = cmsCore::dateFormat($user['birthdate']);
больше в голову пока ни чего не приходит :(
в \components\users\model.php
$user['fbirthdate'] = cmsCore::dateFormat($user['birthdate']);
больше в голову пока ни чего не приходит :(
#6
7 июня 2013 в 22:26
Этот код есть.
В любом случае спасибо за поддержку. Любая мысль может натолкнуть еще на одну, так что шанс разобраться всегда есть.
В любом случае спасибо за поддержку. Любая мысль может натолкнуть еще на одну, так что шанс разобраться всегда есть.
#7
7 июня 2013 в 23:06
В коде
{if $usr.showbirth && $usr.fbirthdate}
<div class="con_heading_profile">/ {$usr.fbirthdate} г.</div>
{/if}
присутствует "$usr.showbirth". Когда я его убрал, то появились даты во всех профилях, даже не заполненных. Следовательно, подскажите пожалуйста, кто знает, где определяется(вычисляется) значение "$usr.showbirth", которое указывает нужно ли выводить дату.
{if $usr.showbirth && $usr.fbirthdate}
<div class="con_heading_profile">/ {$usr.fbirthdate} г.</div>
{/if}
присутствует "$usr.showbirth". Когда я его убрал, то появились даты во всех профилях, даже не заполненных. Следовательно, подскажите пожалуйста, кто знает, где определяется(вычисляется) значение "$usr.showbirth", которое указывает нужно ли выводить дату.
#8
8 июня 2013 в 10:01
в файле com_users_edit_profile.tpl
вкл/выкл
+ в компонентах папка users файл model.php там sql запрос к базе по дню рождению ниже запроса формат
вкл/выкл
<tr> <td valign="top"><strong>{$LANG.SHOW_BIRTH}:</strong> </td> <td valign="top"> <label><input name="showbirth" type="radio" value="1" {if $usr.showbirth}checked{/if}/> {$LANG.YES} </label> <label><input name="showbirth" type="radio" value="0" {if !$usr.showbirth}checked{/if}/> {$LANG.NO} </label> </td> </tr>
#9
8 июня 2013 в 16:21
Код тот же.
Я пробовал менять значение 0 и 1. когда я их изменил, запись в базу значения даты произошла даже при значении даты по умолчанию, т.е. я дату не изменял. Зато пошел вывод даты в профиле у всех пользователей, и перестал выводится в порфиле, где был. Это тоже не хорошо, потому, что если пользователь не указал дату, после первого сохранения настроек профиля выводится дата по дефолту.
К сожалению, причина в другом месте. Да и проявляется странно. Выводит дату только одного пользователя.
Я пробовал менять значение 0 и 1. когда я их изменил, запись в базу значения даты произошла даже при значении даты по умолчанию, т.е. я дату не изменял. Зато пошел вывод даты в профиле у всех пользователей, и перестал выводится в порфиле, где был. Это тоже не хорошо, потому, что если пользователь не указал дату, после первого сохранения настроек профиля выводится дата по дефолту.
К сожалению, причина в другом месте. Да и проявляется странно. Выводит дату только одного пользователя.