Подскажите пожалуйста в PHP коде , в подключаемом html документе есть переменные в двух фигурных скобках {{name}}, купил скрипт магазина, не могу понять откуда и куда там что вставляется. Что это за двойные фигурные скобки, это фрагменты кода или переменные. Непонятно. Спасибо всем откликнувшимся.
магазин настолько прост, там четыре страницы - главная, корзина, категории есть один файл index.php к которому все они прикрепляются.
это код index.php PHP: <?php if (substr($_SERVER['REQUEST_URI'],0,10) =="/index.php" ) { $a='http://www.electroncigarette.ru/' . substr($_SERVER['REQUEST_URI'], 10); header( 'HTTP/1.1 301 Moved Permanently' ); header( 'Location: [url=http://www.electroncigarette.ru']http://www.electroncigarette.ru'[/url] ); } require_once '_app.php'; $orders=array(0=>'price', 1=>'name', 2=>'id'); $_REQUEST[order]=$orders[(int)$_REQUEST[order]]; $_REQUEST[os]=(int)$_REQUEST[os]; $_REQUEST[id]=(int)$_REQUEST[id]; switch($_REQUEST[show]){ case 'category': show_category(); break; case 'item': show_item(); break; case 'basket': show_basket(); break; default: show_start(); } if(count($_SESSION[basket])>0){ foreach($_SESSION[basket] as $item){ $vars[basket_amount]+=$item[n]*$item[price]; $vars[basket_num]+=$item[n]; } } $vars[basket_amount]=(int)$vars[basket_amount]; $vars[basket_num]=(int)$vars[basket_num]; show_main(); function show_start(){ global $vars, $_conf; $vars[title]=$_conf[title]; $vars[name]=$_conf[name]; $vars[status]=''; $res=mysql_query('SELECT * FROM '.$_conf[table_prefix].'categories WHERE parent_id=0 ORDER BY pos'); $cnt=1; $content=''; $vars1[categories]=array(); while($cat=mysql_fetch_array($res)){ $c[id]=$cat[id]; $c[name]=$cat[name]; if(file_exists('images/categories/'.$cat[id].$cat[img_type])){ $c[image]='./images/categories/'.$cat[id].$cat[img_type]; }else{ $c[image]=''; } $c[subcategories]=array(); $res1=mysql_query('SELECT * FROM '.$_conf[table_prefix].'categories WHERE parent_id='.$cat[id].' ORDER BY pos LIMIT 8'); $first=true; while($cat1=mysql_fetch_array($res1)){ $sc=array(); $sc[id]=$cat1[id]; $sc[name]=$cat1[name]; $c[subcategories][]=$sc; } $vars1[categories][]=$c; } $res=mysql_query('SELECT * FROM '.$_conf[table_prefix].'items WHERE main=1 ORDER BY \''.$_REQUEST[order].'\' LIMIT '.$_REQUEST[os].','.$_conf[on_page].''); $rown=mysql_fetch_array(mysql_query('SELECT COUNT(*) n FROM '.$_conf[table_prefix].'items WHERE main=1')); $cnt=1; $counter=1; $n=mysql_num_rows($res); if($n>0){ $vars1[items]=array(); while($row=mysql_fetch_array($res)){ $i=array(); $i[id]=$row[id]; $i[name]=$row[name]; $i[short_description]=$row[short_description]; $i[price]=$row[price]; if(file_exists('images/items/'.$row[id].'.jpg')){ $i[preview_image]='./image.php?src=images/items/'.$row[id].'_'.$_conf[preview_wh].'.jpeg'; } $vars1[items][]=$i; } } $vars1[pages_list]=$rown[n]>$_conf[on_page]?'Страницы: '.listpages('<a href="-%os%.html">%link%</a>', $rown[n], $_REQUEST[os], $_conf[on_page]):''; $tpl=file_get_contents('_main_page.php'); $vars[contents]=parse_tpl($tpl, $vars1); } function show_category(){ global $vars, $_conf, $rown, $orders; $cat=mysql_fetch_array(mysql_query('SELECT * FROM '.$_conf[table_prefix].'categories WHERE id=\''.$_REQUEST[id].'\'')); $vars[status]=' - '.$cat[name]; $vars[title]=$cat[title]; $vars[name]=$cat[name]; $row=$cat; for($i=1;$i<=$cat[level];$i++){ $row=mysql_fetch_array(mysql_query('SELECT * FROM '.$_conf[table_prefix].'categories WHERE id='.$row[parent_id])); $vars[name]=$row[name].' - '.$cat[name]; $vars[status]=' - <a href="category-'.$row[id].'.html">'.$row[name].'</a>'.$vars[status]; } $vars1[description]=trim($cat[description]); $res=mysql_query(' SELECT c.id, c.name, COUNT(i.id) i_n FROM '.$_conf[table_prefix].'categories c LEFT JOIN '.$_conf[table_prefix].'categories sc ON (sc.totop LIKE CONCAT(\'%,\', c.id, \',%\')) LEFT JOIN '.$_conf[table_prefix].'items i ON (i.category_id=sc.id OR i.category_id = c.id) WHERE c.parent_id=\''.$cat[id].'\' GROUP BY c.id ORDER BY c.pos'); $first=true; if(mysql_num_rows($res)>0){ $vars1[subcategories]=array(); while($row=mysql_fetch_array($res)){ $sc=array(); $sc[id]=$row[id]; $sc[name]=$row[name]; $vars1[subcategories][]=$sc; } }else{ $vars1[subcategories]=''; } $subcategories=get_all_subcategories($cat[id]); $where='category_id=\''.$cat[id].'\''; foreach($subcategories as $c_id){ $where.=' OR category_id=\''.$c_id.'\''; } $res=mysql_query('SELECT * FROM '.$_conf[table_prefix].'items WHERE '.$where.' ORDER BY \''.$_REQUEST[order].'\' LIMIT '.$_REQUEST[os].','.$_conf[on_page].''); $rown=mysql_fetch_array(mysql_query('SELECT COUNT(*) n FROM '.$_conf[table_prefix].'items WHERE '.$where)); $n=mysql_num_rows($res); if($n>0){ $vars1[items]=array(); while($row=mysql_fetch_array($res)){ $i=array(); $i[id]=$row[id]; $i[name]=$row[name]; $i[short_description]=$row[short_description]; $i[price]=$row[price].' '.$_conf[currency]; $i[preview_image]='./image.php?src=images/items/'.$row[id].'_'.$_conf[preview_wh].'.jpeg'; $vars1[items][]=$i; } }else{ $vars1[items]=''; } $orders1=array_flip($orders); $vars1[pages_list]=$rown[n]>$_conf[on_page]?'Страницы: '.listpages('<a href="category-'.$_REQUEST[id].'-'.$orders1[$_REQUEST[order]].'-%os%.html">%link%</a>', $rown[n], $_REQUEST[os], $_conf[on_page]):''; $vars1[order_select]="<select onchange=\"location.href='category-{$_REQUEST[id]}'+this.value;\">"; $vars1[order_select].=' <option value=0 '.($_REQUEST[order]=='price'?'selected':'').'>цене <option value=1 '.($_REQUEST[order]=='name'?'selected':'').'>названию <option value=2 '.($_REQUEST[order]=='id'?'selected':'').'>дате добавления'; $vars1[order_select].='</select>'; $tpl=file_get_contents('_category_page.php'); $vars[contents]=parse_tpl($tpl, $vars1); } function show_item(){ global $_conf, $vars; $item=mysql_fetch_array(mysql_query('SELECT * FROM '.$_conf[table_prefix].'items WHERE id=\''.(int)$_REQUEST[id].'\'')); $cat=mysql_fetch_array(mysql_query('SELECT * FROM '.$_conf[table_prefix].'categories WHERE id=\''.$item[category_id].'\'')); $vars[status]=' - <a href="category-'.$cat[id].'.html">'.$cat[name].'</a>'; $row=$cat; for($i=1;$i<=$cat[level];$i++){ $row=mysql_fetch_array(mysql_query('SELECT * FROM '.$_conf[table_prefix].'categories WHERE id='.$row[parent_id])); $vars[status]=' - <a href="category-'.$row[id].'.html">'.$row[name].'</a>'.$vars[status]; } $vars[status]=$vars[status].' - '.$item[name]; $vars[name]=$item[name]; $vars[title]=$item[title]; $vars1[id]=$item[id]; $vars1[name]=$item[name]; $vars1[description]=$item[description]; $vars1[price]=$item[price]; $vars1[category_id]=$item[category_id]; if(file_exists('images/items/'.$item[id].'.jpg')){ $vars1[image]='./images/items/'.$item[id].'.jpg'; }else{ $vars1[image]=''; } $res=mysql_query('SELECT f.id, f.type, f.name, v.value FROM '.$_conf[table_prefix].'fields f, '.$_conf[table_prefix].'fields_values v WHERE v.item_id=\''.$item[id].'\' AND f.id=v.field_id ORDER BY f.pos'); if(mysql_num_rows($res)>0){ $vars1[fields]=array(); while($row=mysql_fetch_array($res)){ $f=array(); switch($row[type]){ case 0: case 1: case 2: $f[name]=$row[name]; $f[value]=$row[value]; $vars1[fields][]=$f; break; case 3: if(file_exists('files/'.$item[id].'_'.$row[id].$row[value])){ $f[name]=$row[name]; $size=filesize('files/'.$item[id].'_'.$row[id].$row[value]); $f[value]='<a href="files/'.$item[id].'_'.$row[id].$row[value].'" target=_blank>Скачать ('.($size>1000000?((round($size/100000)/10).' Мб'):$size>1000?(round($size/100)/10).' Кб':$size.' байт').', '.substr($row[value], 1).')</a>'; $vars1[fields][]=$f; } break; } } }else{ $vars1[fields]=''; } $tpl=file_get_contents('_item_page.php'); $vars[contents]=parse_tpl($tpl, $vars1); } function show_basket(){ global $_conf, $vars; $vars[title]='Корзина'; $vars[name]='Корзина'; $vars[status]=' - Корзина'; switch($_REQUEST[act]){ case 'add': $row=mysql_fetch_array(mysql_query('SELECT id, price FROM '.$_conf[table_prefix].'items WHERE id=\''.(int)$_REQUEST[id].'\'')); $_SESSION[basket][(int)$_REQUEST[id]][n]=1; $_SESSION[basket][(int)$_REQUEST[id]][price]=$row[price]; break; case 'del': unset($_SESSION[basket][$_REQUEST[id]]); break; case 'save': foreach($_REQUEST[items] as $id=>$n){ if($n>0){ $_SESSION[basket][$id][n]=$n; }else{ unset($_SESSION[basket][$id]); } } break; } if($_REQUEST[act]=='send'){ if(count($_SESSION[basket])>0){ $vars[title]='Заказ отправлен успешно'; $vars[name]='Заказ отправлен успешно'; $vars1=array(); $vars[contents]=$_conf[order_message]; $where='0'; foreach($_SESSION[basket] as $id=>$item){ if($item[n]>0){ $where.=' OR id=\''.(int)$id.'\''; } } $order=''; $res=mysql_query('SELECT * FROM '.$_conf[table_prefix].'items WHERE '.$where.' ORDER BY price'); while($row=mysql_fetch_array($res)){ $order.="{$row[name]}, цена: {$row[price]}, количество: ".(int)$_SESSION[basket][$row[id]][n]."\r\n"; $amount+=$_SESSION[basket][$row[id]][n]*$_SESSION[basket][$row[id]][price]; } $message='Заказ с сайта [url=http://'.$_SERVER]http://'.$_SERVER[/url][HTTP_HOST].' Контактное лицо: '.$_REQUEST[contact_person].' Email: '.$_REQUEST[email].' Телефон: '.$_REQUEST[phone].' Адрес: '.$_REQUEST[address].' Дополнительная информация: '.$_REQUEST[comments].' -- Содержимое заказа: '.$order.' Общая сумма заказа: '.$amount.''; $subject="Заказ с сайта ".$_SERVER[HTTP_HOST]; mail($_conf[order_email], convert_cyr_string($subject, 'w', 'w'), convert_cyr_string($message, 'w', 'w')); $_SESSION[basket]=array(); $vars1[send]=1; } }elseif(count($_SESSION[basket])>0){ $where='0'; foreach($_SESSION[basket] as $id=>$n){ if($n>0){ $where.=' OR id=\''.(int)$id.'\''; } } $res=mysql_query('SELECT * FROM '.$_conf[table_prefix].'items WHERE '.$where.' ORDER BY price'); $amount=0; if(mysql_num_rows($res)>0){ $vars1[items]=array(); while($row=mysql_fetch_array($res)){ $item[id]=$row[id]; $item[name]=$row[name]; $item[price]=''.(int)$row[price]; $item[num]=''.(int)$_SESSION[basket][$row[id]][n]; $item[amount]=$_SESSION[basket][$row[id]][n]*$row[price]; $vars1[amount]+=$_SESSION[basket][$row[id]][n]*$row[price]; $vars1[total]+=$_SESSION[basket][$row[id]][n]; $vars1[items][]=$item; } } } $tpl=file_get_contents('_basket_page.php'); $vars[contents]=parse_tpl($tpl, $vars1); } ?>
вот код страницы шаблона, как я понял HTML: <link href="4v_fors.css" rel="stylesheet" type="text/css" /> <table cellpadding=0 cellspacing=0 class="name"> <td valign=top> <p class="name">{{description}}<br><br> {{fields}} {{name}}: {{value}}<br> </p> <table width="100%" border="0" cellpadding="0" cellspacing="0" class="name"> <tr> <td><p class="name">{{end fields}}</p> <p class="n1_square">Цена: {{price}} руб</p></td> </tr> </table> <table width="100%" border="0" cellpadding="0" cellspacing="0" class="name"> <tr> <td><a href="basket-add-{{id}}.html"><img src="images/smal-buy.jpg" alt="добавить в корзину" width="40" height="31" border="0" /></a></td> <td><a href="basket-add-{{id}}.html">Добавить в корзину</a></td> </tr> <tr> <td> </td> <td><a href="category-{{category_id}}.html">Назад в раздел</a></td> </tr> </table> </td> {{if_exists image}} <td valign=top><img style="margin-left:10px;" src="{{image}}"></td> {{end if_exists image}} </table> <table width="100%" align="center" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" class="name"> <table width="100%" border="0" cellpadding="0" cellspacing="1" class="tdline"><tr><td></td></tr></table> <p class="nametbl_micro"><img src="images/small-logo.jpg" width="50" height="24" /></p> <p class="nametbl_micro">Все права защищены. © 2008-2010. Использование любых материалов и фотографий с сайта допустимо только с разрешения администрации!</p></td> </tr> </table> <table width="800" align=center border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width:10px"></td> <td> <!-- Yandex.Metrika --> <script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script> <div style="display:block;"><script type="text/javascript"> try { var yaCounter1152486 = new Ya.Metrika(1152486); } catch(e){} </script></div> <noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/1152486" alt="" /></div></noscript> <!-- /Yandex.Metrika --> <!--LiveInternet counter--><script type="text/javascript"><!-- document.write("<a href='http://www.liveinternet.ru/click' "+ "target=_blank><img src='//counter.yadro.ru/hit?t14.10;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";"+Math.random()+ "' alt='' title='LiveInternet: показано число просмотров за 24"+ " часа, посетителей за 24 часа и за сегодня' "+ "border='0' width='88' height='31'><\/a>") //--></script><!--/LiveInternet--> </td> </tr> </table>
вот например в 13 строке {{price}} не пойму, допустим если бы было <?php echo $price; ?> понимаю, а это откуда взялось?
я хочу сделать так, если нет цены и товара нет на складе , что бы поле "добавить в корзину" не отображалось, хотел найти где выводится из переменной строка "нет на складе" и если она равна "нет на складе" то ссылку "добавить в корзину" не выводим
да можно выставить "есть на складе" "под заказ" "нет на складе" вот отсюда качал скрипт http://www.flashscripts.org/?page=flashshop сейчас думаю, не зря ли сэкономил
он и написан на 18 WMZ если честно, сейчас чайку попью и попробую найти где это, хотя на вряд ли смогу наверное...
не могу, вернее не хочу разбираться в логике, вот тут скрипты магазинов обсуждаются, можете погуглить по названиям и посмотреть, вроде как бесплатные http://www.php.ru/forum/viewtopic.php?t=26255
Так особо обсуждать нечего. Я взял самый наиговённейший скрипт и за пару часиков сделал из него конфетку.