Не выводится дата рождения новых пользователей.

#1 7 июня 2013 в 18:36
Добрый день.
Вдруг обратил внимание, что в профиле не выводится дата рождения новых пользователей. Сайт собран на 1.10, без обновлений.
При заполнении даты в форме, она благополучно попадает в таблицу cms_users, столбец birthdate (прошу прощения за возможную косноязычность, я не программист), а в профиле не выводится. У более ранних пользователей все в порядке. Что еще нужно проверить?
#2 7 июня 2013 в 20:18

У более ранних пользователей все в порядке

volchoc
что-то потом делали? по идее если есть в базе то должно выводить? посмотрите те у которых дата выводится и те у кого нет, формат даты нормальный? одинаковый?

просто чудес не бывает :)
#3 7 июня 2013 в 20:54
Согласен, чудес не бывает.
Формат даты, в частности в базе ГГГГ-ММ-ДД, одинаковый для всех пользователей, заполнены цифрами реальных дат, типа "1978-03-24". Есть даты 0000-00-00, понятно, выводиться не должны.

Может быть при добавлении даты, кроме колонки "birthdate", где то в базе, возможно еще прописывается како-ето значение "да" "нет"(дата внесена или нет).

Насчет того, что я делал — затрудняюсь вспомнить, какие модули добавлял именно в период сбоя. А проиизошло это еще офлайн на денвере. И дата выводится только у самого первого пользователя после админа. А так как все выводилось, то я больше не обращал внимание на то, что происходит у других пользователей.

Знать бы какие файлы обрабатывают запросы ввода вывода, тогда может кто что и подскажет.
#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}

Всего ничего, убрал вывод текста даты и добавил "г."
Даже когда вернул код в дефолт, ничего не изменилось.
#5 7 июня 2013 в 21:53
по сути больше вроде не где, есть еще

в \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", которое указывает нужно ли выводить дату.
#8 8 июня 2013 в 10:01
в файле com_users_edit_profile.tpl

вкл/выкл
  1.  
  2. <tr>
  3. <td valign="top"><strong>{$LANG.SHOW_BIRTH}:</strong> </td>
  4. <td valign="top">
  5. <label><input name="showbirth" type="radio" value="1" {if $usr.showbirth}checked{/if}/> {$LANG.YES} </label>
  6. <label><input name="showbirth" type="radio" value="0" {if !$usr.showbirth}checked{/if}/> {$LANG.NO} </label>
  7. </td>
  8. </tr>
  9.  
+ в компонентах папка users файл model.php там sql запрос к базе по дню рождению ниже запроса формат
#9 8 июня 2013 в 16:21
Код тот же.
Я пробовал менять значение 0 и 1. когда я их изменил, запись в базу значения даты произошла даже при значении даты по умолчанию, т.е. я дату не изменял. Зато пошел вывод даты в профиле у всех пользователей, и перестал выводится в порфиле, где был. Это тоже не хорошо, потому, что если пользователь не указал дату, после первого сохранения настроек профиля выводится дата по дефолту.

К сожалению, причина в другом месте. Да и проявляется странно. Выводит дату только одного пользователя.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.