PDA

View Full Version : Помогите с AserShop


vasek
03.09.2009, 00:29
подскажите, пожалуйста, как сделать блок, в котором бы выводилась случайная картинка продукта из разделов магазина. спасибо

Soniks
04.09.2009, 18:25
сделал простенький блок, работоспособность не проверял, попробуйте....

http://mynuke.ru/modules.php?name=Downloads&op=getit&lid=225

vasek
09.09.2009, 00:18
спасибо за помощь. правда картинки не выводятся. вместо них точка стоит.

Soniks
09.09.2009, 19:48
vasek постомтрите путь картинок, видимо путь как то неверно задан, или если есть возможность предоставтье ссылку где этот блок установлен.

vasek
10.09.2009, 00:07
Все заработало! )) ошибка была в названии модуля. Было Aser_Shop, а надо Asers_Shop.

Помогите пожалуйста еще по одному вопросу. Как сделать так, чтобы смотреть категории магазина могли все посетители, а добавлять товары в корзину могли только зарегистрированные? Спасибо.

Soniks
11.09.2009, 15:25
НЕ следует дублировать свои вопросы.

в index.php модуля имеется такая функция:

function getit($lid, $option1, $option2, $option3) {

global $db, $user, $cookie, $module_name, $show_products_opt;

$ip = $_SERVER["REMOTE_HOST"];

if (empty($ip)) {

$ip = $_SERVER["REMOTE_ADDR"];

}

if(is_user($user)) {

cookiedecode($user);

$auth_name = $cookie[1];

} else $auth_name = 0;

if($auth_name != '0') {

$result1 = $db->sql_query("select * from asershop_preorder where pid='$lid' and (uname='$auth_name' or ip='$ip')");

$numrows = $db->sql_numrows($result1);

if($numrows > 0) {

if($show_products_opt == 0) {

$db->sql_query("update asershop_preorder set quantity=quantity+1, uname='$auth_name' where pid='$lid' and (uname='$auth_name' or ip='$ip')");

} else {

$db->sql_query("insert into asershop_preorder values (NULL,'$ip', '$auth_name', '$lid', '$option1', '$option2', '$option3', now(), '1')");

}

}

} else {

$result1 = $db->sql_query("select * from asershop_preorder where pid='$lid' and ip='$ip'");

$numrows = $db->sql_numrows($result1);

if($numrows > 0) {

if($show_products_opt == 0) {

$db->sql_query("update asershop_preorder set quantity=quantity+1 where pid='$lid' and ip='$ip'");

} else {

$db->sql_query("insert into asershop_preorder values (NULL,'$ip', '$auth_name', '$lid', '$option1', '$option2', '$option3', now(), '1')");

}

}

}

if($numrows == '0') {

$db->sql_query("INSERT into asershop_preorder values (NULL,'$ip', '$auth_name', '$lid', '$option1', '$option2', '$option3', now(), '1')");

}

$result = $db->sql_query("SELECT cid from asershop_products where lid='$lid'");

list($cid)=$db->sql_fetchrow($result);

$db->sql_query("update asershop_products set hits=hits+1 where lid='$lid'");

Header("Location: modules.php?name=$module_name&s_op=viewproduct&cid=$cid");

}
В ней меняем:

if(is_user($user)) {

cookiedecode($user);

$auth_name = $cookie[1];

} else $auth_name = 0;


на

$auth_name = 0;
if(is_user($user)) {

cookiedecode($user);

$auth_name = $cookie[1];

И в самом конце функции после:

Header("Location: modules.php?name=$module_name&s_op=viewproduct&cid=$cid");


Добавить на новую строку скобку:

} else {
echo "Вам необходимо Зарегистрироваться или Авторизоваться, для совершения покупки!";
}
Попробуйте должно сработать.

vasek
12.09.2009, 20:32
Дублировать темы больше не буду. Все работает. Спасибо. )) Только ссылка

"echo "Вам необходимо Зарегистрироваться или Авторизоваться, для совершения покупки!";"

ссылается на белую страницу. А можно как - нибудь сделать так, чтобы ссылка была внутри сайта (данной темы)? Т.е. как будто доступ к модулю закрыт. Спасибо.

Soniks
14.09.2009, 11:58
не совсем понял, что требуется сделать

vasek
15.09.2009, 00:10
в общем я сам разобрался )) Надо вместо "echo "Вам необходимо Зарегистрироваться или Авторизоваться, для совершения покупки!";" поставить
"Header("Location: modules.php?name=Your_Account");"