Вдруг обратил внимание, что в профиле не выводится дата рождения новых пользователей. Сайт собран на 1.10, без обновлений.
При заполнении даты в форме, она благополучно попадает в таблицу cms_users, столбец birthdate (прошу прощения за возможную косноязычность, я не программист), а в профиле не выводится. У более ранних пользователей все в порядке. Что еще нужно проверить?
что-то потом делали? по идее если есть в базе то должно выводить? посмотрите те у которых дата выводится и те у кого нет, формат даты нормальный? одинаковый?У более ранних пользователей все в порядке
просто чудес не бывает :)
Формат даты, в частности в базе ГГГГ-ММ-ДД, одинаковый для всех пользователей, заполнены цифрами реальных дат, типа "1978-03-24". Есть даты 0000-00-00, понятно, выводиться не должны.
Может быть при добавлении даты, кроме колонки "birthdate", где то в базе, возможно еще прописывается како-ето значение "да" "нет"(дата внесена или нет).
Насчет того, что я делал — затрудняюсь вспомнить, какие модули добавлял именно в период сбоя. А проиизошло это еще офлайн на денвере. И дата выводится только у самого первого пользователя после админа. А так как все выводилось, то я больше не обращал внимание на то, что происходит у других пользователей.
Знать бы какие файлы обрабатывают запросы ввода вывода, тогда может кто что и подскажет.
{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}
Всего ничего, убрал вывод текста даты и добавил "г."
Даже когда вернул код в дефолт, ничего не изменилось.
в \components\users\model.php
$user['fbirthdate'] = cmsCore::dateFormat($user['birthdate']);
больше в голову пока ни чего не приходит :(
В любом случае спасибо за поддержку. Любая мысль может натолкнуть еще на одну, так что шанс разобраться всегда есть.
{if $usr.showbirth && $usr.fbirthdate}
<div class="con_heading_profile">/ {$usr.fbirthdate} г.</div>
{/if}
присутствует "$usr.showbirth". Когда я его убрал, то появились даты во всех профилях, даже не заполненных. Следовательно, подскажите пожалуйста, кто знает, где определяется(вычисляется) значение "$usr.showbirth", которое указывает нужно ли выводить дату.
вкл/выкл
<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>
Я пробовал менять значение 0 и 1. когда я их изменил, запись в базу значения даты произошла даже при значении даты по умолчанию, т.е. я дату не изменял. Зато пошел вывод даты в профиле у всех пользователей, и перестал выводится в порфиле, где был. Это тоже не хорошо, потому, что если пользователь не указал дату, после первого сохранения настроек профиля выводится дата по дефолту.
К сожалению, причина в другом месте. Да и проявляется странно. Выводит дату только одного пользователя.