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

Привествие. Вывод имени покупателя


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

Как вывести имя покупателя в раздел мои данные?

У меня сейчас: Добро пожаловать в...

А я хочу сделать: Добро пожаловать, Вася Пупкин в...

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

Сделал все по инструкции, ошибку выдает:

Fatal error: Call to a member function assign() on a non-object in Z:\home\vamshop\www\includes\header.php on line 331

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

Значит не то делаете.

Есть же сообщение, где всё понятно написано - http://vamshop.ru/forum/index.php?topic=108.msg9975#msg9975

Просто в index.html шаблон вставить код, в php ничего править не нужно даже.

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

В /includes/modules/default.php  у меня нет определения метки:

$default_smarty->assign('greeting', xtc_customer_greeting());

А в Header.php нет

if (isset($_SESSION['customer_id']))

$smarty->assign('first_name',$_SESSION['customer_first_name']);

а если вставляю в header эти строчки - появляеться ошибка

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

Все, разобрался, путем вставки в index.html (и никакой другой манипуляции)

{if $smarty.session.customer_id}

Моё имя: {$smarty.session.customer_first_name}<br />

Моя фамилия: {$smarty.session.customer_last_name}<br />

{/if}

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

Саша! Сделал так уже давно, всё работает. Правда несколько раз клиенты жаловались, что входят, а имя видят чужое, не своё. Базу проверял - ошибок нет. В письмах клиенту и в заказах везде по магазину всё о-кей. Решил забить тогда. Щас чисто случайно выявил: у меня в админке Использовать кэш- да, Проверять изменения кэша - да. Кэширование запросов к БД - нет.

Взял сам зарегил несколько покупателей. Админом сбросил кеш. Захожу от имени первого - всё нормально. Выхожу. Захожу от имени второго - и вижу имя первого покупателя. Если сбросить кеш админом - всё нормализуется.

У меня в box_infobox.html вывод имени осуществляется. От кеша отказываться не хочется. Нужно как-то отключить кеширование именно этого бокса. Что предпринять?

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

кэш настраивается так у всех боксах:


  if (!CacheCheck()) {
  $box->caching = 0;
  $box_infobox= $box->fetch(CURRENT_TEMPLATE.'/boxes/box_infobox.html');
  } else {
  $box->caching = 1;
  $box->cache_lifetime=CACHE_LIFETIME;
  $box->cache_modified_check=CACHE_CHECK;
  $cache_id = $_SESSION['language'].$_SESSION['customers_status']['customers_status_id'];
  $box_infobox= $box->fetch(CURRENT_TEMPLATE.'/boxes/box_infobox.html',$cache_id);
  }
[/code] чтоб smarty не кэшировал этот бокс удали все это и остав только
[code]
  $box->caching = 0;
  $box_infobox= $box->fetch(CURRENT_TEMPLATE.'/boxes/box_infobox.html');

вроде правильно написал)

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

Подскажите, пожалуйста, а как с модулями?

В частности "новинки" на главной.

В одной из попыток, например от

	 if (!CacheCheck()) {
$module->caching = 0;
if ((!isset ($new_products_category_id)) || ($new_products_category_id == '0')) {
$module = $module->fetch(CURRENT_TEMPLATE.'/module/new_products_default.html');
} else {
$module = $module->fetch(CURRENT_TEMPLATE.'/module/new_products_category.html');
}
} else {
$module->caching = 1;
$module->cache_lifetime = CACHE_LIFETIME;
$module->cache_modified_check = CACHE_CHECK;
$cache_id = $new_products_category_id.$_SESSION['language'].$_SESSION['customers_status']['customers_status_name'].$_SESSION['currency'];
if ((!isset ($new_products_category_id)) || ($new_products_category_id == '0')) {
$module = $module->fetch(CURRENT_TEMPLATE.'/module/new_products_default.html', $cache_id);
} else {
$module = $module->fetch(CURRENT_TEMPLATE.'/module/new_products_category.html', $cache_id);
}
}[/code] оставил
[code]$module->caching = 0;
        $module = $module->fetch(CURRENT_TEMPLATE.'/module/new_products_default.html');

не получилось.

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