I'm using Magento 1.7.0. I want to show latest ordered products on homepage sidebar. Almost everything is ready and working properly except its URL.
I don't know why products URL is repeating again and again. Products' images, it's name and price is showing correct only it's URL gets repeated for each product.
Each product have the same first product URL.
Here is the code
<style>
.productList { float:left; width:720px; }
.productList .product { background:#fff; border:1px solid #eedfa6; padding:3px; float:left; text-align:center; width: 182px; margin-bottom: 7px; height: 200px; }
.productList .product .cl { padding:0 0 0 0px; text-align:center;}
.productList .product .prodDetails {font-weight: bold;font-size: 12px; color: #2a2a28;text-align:center; padding:0 0 0 0px; }
.productList .product .prodDetails a{color: #d77932;}
.productList .product .prodDetails a:hover{color: #3d4d68 ;}
.productList .product .addCompare { text-align:center; clear:both; }
.productList .product .addWishlist {clear:both; text-align:center; }
}
</style>
<?php
$result = $this->getBestsellerProduct();
$itemPerRow = ($this->getItemsPerRow()) ? $this->getItemsPerRow() : 2 ;
//getting product model
$model = Mage::getModel('catalog/product');
$products_price = Mage::getStoreConfig('bestseller/general/products_price');
$review = Mage::getStoreConfig('bestseller/general/review');
?>
<div style="width:200px;float:right;">
<div class="sectionHead" style=""><h2><?php echo $this->getHeader(); ?></h2><div style="height: 25px;border-bottom: 2px solid #eedfa6 /*#DBDBDB;*/" class="hrline"></div></div>
<table border="0" cellpadding="0" cellspacing="0" class="productList" style="width:100px;">
<?php $i=0;
for($cnt = 0; $cnt<5; $cnt++){
$_product = $model->load($result[$cnt]); //getting product object for particular product id
?>
<tr>
<td class="product">
<div class="prodimage">
<!-- code added by Saurabh-->
<?php echo $_product->getProductUrl() ?>
<?php if ($_product->getExt_image_url()!=''){$srcImage=$_product->getExt_image_url();} else{$srcImage=$this->helper('catalog/image')->init($_product, 'small_image');} ?>
<!--saurabh code ended here-->
<a href="<?php echo $_product->getProductUrl() ; ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>">
<img src="<?php echo $srcImage; ?>" width="150" height="145" alt="<?php echo $this->htmlEscape($_product->getName()) ?>"/>
</a>
</div>
<div align="center">
<div class="prodDetails" align="center" style="width:175px;" >
<?php $_product_name= $_product->getName(); ?>
<?php $_short_product_name = substr($_product_name, 0, 40); ?>
<?php $_dot_product_name=$_short_product_name.'...' ; ?>
<?php echo $_dot_product_name ;?>
<?php if($review == 1)
{
$_product = Mage::getModel('catalog/product')->load($_product->getId());
echo $this->getReviewsSummaryHtml($_product, 'short');
}
if($products_price == 1)
{
$_product = Mage::getModel('catalog/product')->load($_product->getId());
echo $this->getPriceHtml($_product, true);
}
?>
</div>
<?php $addtocartval = $this->getAddToCart();
if($addtocartval == 1){
if($_product->isSaleable()): ?>
<button class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><?php echo $this->__('Add to Cart') ?></span></button>
<?php else: ?>
<span class="out-of-stock"><?php echo $this->__('Out of stock') ?></span>
<?php endif; }?>
</div>
<div class="cl">
<?php $wishlists = $this->getActive();
if($wishlists == 1){
if ($this->helper('wishlist')->isAllow()) : ?>
<?php echo $this->__('Add to Wishlist') ?>
<?php endif; }?>
</div>
<div class="cl">
<?php $addtocompare = $this->getAddToCompare();
if($addtocompare==1){
if($_compareUrl=$this->getAddToCompareUrl($_product)): ?>
<?php echo $this->__('Add to Compare') ?>
<?php endif; }?>
</div>
</td>
</tr>
<?php
}
?>
</table>
</div>
First ,check $result[$cnt] is same for every time??
for($cnt = 0; $cnt<5; $cnt++){
// change code here
$_product = Mage::getModel('catalog/product')->load($result[$cnt]);
$my_product_url = $product->getProductUrl();
//or
$my_product_url=Mage::getResourceSingleton('catalog/product')
->getAttributeRawValue($result[$cnt], 'url_key', Mage::app()->getStore());
//or
$my_product_url=Mage::getUrl()''.$_product->getData('url_key').'.html';
Related
How to set img class element echo?
<div class="allnis" style="padding: 15px; text-transform: uparcase;">
<?php
foreach($tv_id->networks as $prod){
echo "<img value='". $tv_id->name ."' src='".$imgurl_1."".$prod->logo_path."'>" ;
}
?>
</div>
In fact, you can set a class the same way you do, for example,
<div class="allnis" style="padding: 15px; text-transform: uparcase;">
<?php foreach($tv_id->networks as $prod){ ?>
<img value="<?php echo $tv_id->name ?>" src="<?php echo $imgurl_1.$prod->logo_path ?> class=" ">
<?php } ?>
</div>
I hav run into a problem - I am not that familiar with cakephp - but I have taken over a project (A webshop project) - and now I have a bit of a problem - I have a field (tracking id for the package) which writes to DB - that works great - but here is the trouble - when I click the button and save the tracking number to the DB - I wan't the system to send an email to the customer with the tracking id.
I can get the system to send a mail - but there is no tracking number on so I guess the email is send before the DB i updated.
Hope someone can point me in the right direction
public function send($order_id = null, $is_resolved = true)
{
if($this->request->is('post'))
{
$this->Order->id = $this->request->data['Order']['id'];
$this->Order->saveField('state', 'resolved');
$this->Order->saveField('date_resolved', date('Y-m-d H:i:s'));
$this->Order->saveField('delivery_label', $this->request->data['Order']['delivery_label']);
$this->Session->setFlash('Ordren er nu sat til "Sendt".'.$this->Session->read('Message.success.message'), null, array(), 'success');
$this->redirect(array('controller' => 'orders', 'action' => 'index'));
}
$order = $this->Order->find('first', array('conditions' => array('Order.id' => $order_id, 'Order.state' => 'packed'), 'recursive' => 4));
// Does the item exist?
if(empty($order))
{
// Tell the user this item did not exist
$this->Session->setFlash('Ordren findes ikke.'.$this->Session->read('Message.warning.message'), null, array(), 'warning');
return $this->redirect($this->referer());
}
if($is_resolved) {
// Send the email receipt
$Email = new CakeEmail('receipt');
$Email->to($order['Customer']['email_address']);
$Email->template('receipt_send')->viewVars( array('order' => $order));
$Email->send();
}
$this->set('order', $order);
}
Here is the receipt_send code
<table style="width:100%; margin-bottom:30px; border-collapse: collapse; color:#777;">
<tr style="vertical-align:middle; border-bottom:1px solid #777;">
<td colspan="3" style="width:45%; padding:10px 0;"><?php echo $this->Html->image('logo.png', array('style' => 'height:50px; margin-top:-15px; vertical-align:middle;', 'fullBase' => true)); ?></td>
</tr>
<tr style="font-size:1em; border-bottom:1px solid #777;">
<td style="padding: 5px 0;"><strong>Kvittering</strong> fra Bundgaards Garn</td>
<td style="padding: 5px 0;">Ordre nr. <strong><?php echo $order['Order']['id']; ?></strong></td>
</tr>
<p style="width:50%; float:right;">Din ordre er afsendt og har fået trackingnummer: <strong><?php echo $order['Order']['delivery_label']; ?></strong></p>
<table style="text-align: left; width:100%; border-collapse: collapse;">
<tr style="border-bottom:2px solid #dddddd;">
<th style="width:35%; padding: 10px 0;">Vare</th>
<th style="width:25%; padding: 10px 0;">Antal</th>
<th style="width:20%; padding: 10px 0; text-align:right;">Pris</th>
<th style="width:20%; padding: 10px 0; text-align:right;">Total</th>
</tr>
<?php foreach ($order['OrderItem'] as $key => $order_item): ?>
<tr style="border-bottom:1px solid #dddddd;">
<!-- PRODCUT LINK -->
<td style="padding: 10px 0; vertical-align: middle;">
<?php if($order_item['yarn_batch_id'] != 0) : ?>
<?php echo $order_item['YarnBatch']['YarnVariant']['Yarn']['name'] . ' - ' . $order_item['YarnBatch']['YarnVariant']['color_code'] . '-' . $order_item['YarnBatch']['batch_code']; ?>
<?php elseif($order_item['needle_variant_id'] != 0) : ?>
<?php echo $order_item['NeedleVariant']['Needle']['name'] . ' - ' . $order_item['NeedleVariant']['product_code']; ?>
<?php elseif($order_item['recipe_id'] != 0) : ?>
Print af <?php echo $order_item['Recipe']['name']; ?>
<?php elseif($order_item['color_sample_id'] != 0) : ?>
Farveprøve af <?php echo $order_item['ColorSample']['name']; ?>
<?php endif; ?>
</td>
<!-- PRODCUT LINK COLLAPSE -->
<td style="padding: 10px 0; vertical-align: middle;">
<?php echo $order_item['amount']; ?>
</td>
<td style="padding: 10px 0; vertical-align: middle; text-align:right;">
<?php if($order_item['yarn_batch_id'] != 0) : ?>
<?php echo $this->Number->currency($order_item['YarnBatch']['price'], 'DKK');?>
<?php elseif($order_item['needle_variant_id'] != 0) : ?>
<?php echo $this->Number->currency($order_item['NeedleVariant']['price'], 'DKK');?>
<?php elseif($order_item['recipe_id'] != 0) : ?>
<?php echo $this->Number->currency($order_item['Recipe']['price'], 'DKK');?>
<?php elseif($order_item['color_sample_id'] != 0) : ?>
<?php echo $this->Number->currency($order_item['ColorSample']['price'], 'DKK');?>
<?php endif; ?>
</td>
<td style="padding: 10px 0; vertical-align: middle; text-align:right;" >
<?php echo $this->Number->currency($order_item['price'], 'DKK');?>
<?php if($order_item['saving'] > 0) : ?>
<br/>
<span style="color:#5cb85c;"><?php echo $this->Number->currency($order_item['saving'], 'DKK');?>´</span>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
<tr>
<td colspan="2"/>
<td style="text-align:right;">
<p>Levering</p>
<?php if($order['Order']['saving'] > 0) : ?>
<p>Rabat</p>
<?php endif; ?>
<p><strong>Subtotal</strong></p>
<p><strong>Moms</strong></p>
</td>
<td style="text-align:right;">
<p><?php echo $this->Number->currency($order['Order']['shipping_price'], 'DKK');?></p>
<?php if($order['Order']['saving'] > 0) : ?>
<p style="color:#5cb85c;"><strong><?php echo $this->Number->currency($order['Order']['saving'], 'DKK');?></strong></p>
<?php endif; ?>
<p><strong><?php echo $this->Number->currency($order['Order']['sub_total'], 'DKK');?></strong></p>
<p><strong><?php echo $this->Number->currency($order['Order']['tax'], 'DKK');?></strong></p>
</td>
</tr>
<tr>
<td colspan="2"/>
<td style="text-align:right;">
<h4>Total:</h4>
</td>
<td style="text-align:right; color:#900000;">
<h4><strong><?php echo $this->Number->currency($order['Order']['price'], 'DKK');?></strong></h4>
</td>
</tr>
</table>
<div style="width:50%; float:left;">
<h4>Ordren sendes til:</h4>
<p>
<strong><?php echo $order['Customer']['first_name'] . ' ' . $order['Customer']['last_name']; ?></strong><br>
<?php echo $order['Customer']['ShippingAddress']['street'] . ' ' .
$order['Customer']['ShippingAddress']['zip_code'] . ' ' .
$order['Customer']['ShippingAddress']['city_name']?><br>
<?php echo $order['Customer']['email_address']; ?><br>
<?php echo $order['Customer']['phone_number']; ?><br>
</p>
</div>
<div style="width:50%; float:left;">
<?php if(!empty($order['Order']['customer_note'])) : ?>
<h4>Note til forhandleren:</h4>
<p>
<?php echo $order['Order']['customer_note']; ?>
</p>
<?php endif; ?>
</div>
<hr style="width:100%; border: 0; border-bottom: 1px solid #ddd;">
<p style="color:#999; font-size:0.8em;">
<strong>Bundggards Garn</strong> <br/>
<a style="color:#777;" href="https://bundgaardsgarn.dk">bundgaardsgarn.dk</a> <br/>
kontakt#bundgaardsgarn.dk <br/>
Saltumvej 46 9700 Brønderslev <br/>
30369522 <br/>
<i>CVR:</i> 34526826 <br/>
</p>
Got it to work by creating a controller and make a button to the information.... Works like a charm.
I have this script.
<?php
$self=$_SERVER['PHP_SELF'];
$ipresurse='resurse.fibula.ro';
$PartnerID="travelplaza";
$SelectedAirport="ANTALYA";
function checkXmlCache($xmlQuery) {
$fibulabasexml="http://resurse.fibula.ro/parteneri/"; $cachedir="http://ydashopimpex.com/tmp"; $ageInSeconds = 3600;
$xmlQuery=str_replace(array("'",'"'),"",$xmlQuery); $xmlQuery2=$xmlQuery;
$long=array("stars=","TURKEY","bestprice=","country=", "location=","hotelcode=","prices=yes","tara=","simple=yes","rand()","sort=","limit=","price ","hotelname"," desc","desc");
$short=array("ST-","TR","B-","C-", "L-", "H-", "PY-", "T-", "-S-", "-R-", "S-", "LT-", "PP-","HN","-D","-D");
$xmlQuery2=str_replace($long,$short,$xmlQuery2);
$xmlQuery2=str_replace(array("xmlhotels.php","xmllocations.php"),array("XH-","XL-"),$xmlQuery2);
$xmlQuery2=str_replace(array("&","?"),array(""),$xmlQuery2);
$xmlQuery2.="_.XML";
$xmlQuery2=strip_tags($xmlQuery2);
if(!file_exists($cachedir.$xmlQuery2) || (filemtime($cachedir.$xmlQuery2) + $ageInSeconds < (time() )) ) {
$contents = file_get_contents($fibulabasexml.str_replace(" ","%20",$xmlQuery));
if(strlen($contents)>200 ) { file_put_contents($cachedir.$xmlQuery2, $contents); }
}
return($cachedir.$xmlQuery2);
}
function moneda($moneda) { $numemoneda=array("EURO","USD"); $simbol=array("€","$"); return str_replace($numemoneda,$simbol,$moneda); }
$feedbpl = checkXmlCache('xmlhotels.php?airport='.$SelectedAirport.'&myid=travelplaza'.$PartnerID.'&simple=yes&sort=nume asc');
$bpl = simplexml_load_file($feedbpl); $sh="0"; if(isset($_GET['code'])) { $codes=explode(",",$_GET['code']); $sh=strip_tags($codes[2]); }
?>
<div style="padding:2px; text-align:center">
<form name="fastsearch" method="get" action="<?php print $self; ?>">
<strong>CAUTARE RAPIDA HOTEL</strong> <select name="code" onchange="submit()" style="padding:2px 1px;"><option value="">---selecteaza hotel---</option><?php
foreach ($bpl->hotel as $h)
{
?><option <?php if($h['hotelcode']==$sh) { ?> selected="selected" <?php }?> value="<?php print $h['hotelname'].",".$h['location'].",".$h['hotelcode'];?>" title="<?php print $h['hotelname']." ".$h['stars'];?>"><?php print substr($h['hotelname'],0,30)." ".$h['stars'];?></option><?php
}
?>
</select></form>
</div>
<?php
if(!isset($_GET['code']))
{
/*
?>
<iframe style="padding:0px; margin:0px;" src='http://<?php print $ipresurse?>/WL/?myid=travelplaza<?php print $PartnerID; ?>&small=1' frameborder='0' width='100%' height='380' scrolling='auto'></iframe>
<?php
*/
}
if(isset($_GET['code']))
{
$feedurl =checkXmlCache("xmlhotels.php?hotelcode=".$sh."&prices=yes&myid=travelplaza".$PartnerID); $xml = simplexml_load_file($feedurl);
?>
<h1><?php print $xml->hotel['hotelname']; ?> <?php print $xml->hotel['stars']; ?></h1>
<div class="localizare"><?php print $xml->hotel['location']; ?> / <?php print $xml->hotel['country']; ?>
<div style="float:right; background-color:#C9F; color:white; -moz-border-radius: 10px; border-radius: 10px; font-weight:bold; padding:5px; text-align:center">REZERVA ACUM<br />de la <?php print floatval($xml->hotel['bestprice']). " " .moneda($xml->hotel['currency']); ?></div>
</div>
<div class="gallery" style="display:inline-table; width:100%;">
<img style="float:left" src="http://resurse.fibula.ro/hotel_images/<?php print $xml->hotel['hotelcode']."___".$xml->hotel['defaultimage'].".jpg"; ?>" alt="" width="350" />
<?php
foreach($xml->hotel->images->image as $img)
{
?>
<p style="float:left; margin:0px; padding:0px;"><a title="<?php print $xml->hotel['hotelname']; ?>" href="<?php print $img['url'];?>" rel="gallery">
<img style="float:left" src="<?php print str_replace(".jpg","___small.jpg",$img['url']);?>" alt="<?php print $xml->hotel['hotelname']; ?>" title="<?php print $xml->hotel['hotelname']; ?>" width="50" height="38"/></a>
</p>
<?php
}
?>
</div>
<?php print html_entity_decode($xml->hotel->description); ?>
<div style="display:inline-table; width:100%;" id="rezervare123">
<h4 >Rezerva acum ! Oferta de la <?php print floatval($xml->hotel['bestprice']). " " .moneda($xml->hotel['currency']); ?> </h4>
<?php /* ?>
<iframe style="padding:0px; margin:0px;" src='http://<?php print $ipresurse?>/WL/?myid=travelplaza<?php print $PartnerID; ?>&small=1&hotelcode=<?php print $xml->hotel['hotelcode']?>&hotel=<?php print $xml->hotel['hotelname']?>' frameborder='0' width='100%' height='380' scrolling='auto'></iframe>
<?php */ ?>
</div>
<?php
/*
foreach($xml->hotel->prices->bestPrice as $prices)
{
$capete[trim($prices['depAirport']."-".$prices['arrAirport'])][trim($prices['night'])]=trim($prices['night']);
$tarife[trim($prices['depAirport']."-".$prices['arrAirport'])][trim($prices['checkin'])][trim($prices['night'])]=number_format(floatval($prices['price']),0);
}
*/
//new tarife
$DefaultDiscount=0;
foreach($xml->hotel->prices->bestPrice as $prices) { $customprice=floatval($prices['price'])-$DefaultDiscount; $capete[trim($prices['depAirport']."-".$prices['arrAirport'])][trim($prices['night'])]=trim($prices['night']); $tarife[trim($prices['depAirport']."-".$prices['arrAirport'])][trim($prices['checkin'])][trim($prices['night'])]=$customprice; }
?>
<!-- prices start -->
<?php
foreach($capete as $key=>$value){ asort($value);
?>
<div id="<?php print $key; ?>" style="padding:0px;" class="content">
<p></p>
<table width="100%"><thead>
<tr><td width="10%">Data plecare</td>
<?php foreach($value as $n) { ?><td><?php print $n;?></td><?php }?>
</tr>
<thead><tbody>
<tr><td colspan="<?php print count($value)+1; ?>" align="center"><span style="color: #ff6600; font-weight:bold;">
Tarife de persoana in camera standard. (* tarifele nu includ taxele de aeroport 95€/pers)
</span>
</td></tr>
<?php foreach($tarife[$key] as $checkin=>$nn) { $chk=new DateTime($checkin); ?>
<tr><td><?php print $chk->format('d.m.Y');?></td><?php
foreach($value as $n) { ?><td align="right"> <?php if(array_key_exists($n,$nn)) { print $nn[$n];} ?></td><?php } ?>
</tr><?php
}
?>
</tbody>
</table>
</div>
<?php
}
?>
<?php
/*
foreach ($tarife as $rute=>$plecari)
{ sort($capete[$rute]); $ut=0; $i=0;
foreach($plecari as $plecare=>$tarif)
{ $sd=explode("-",$plecare); if($ut!=$tarif[$capete[$rute][0]]) {$i++; }
${str_replace("-","_",$rute)}[$tarif[$capete[$rute][0]]."|".$i][]=$sd[2].".".$sd[1];
$ut=$tarif[$capete[$rute][0]];
}
}
foreach($capete as $rute=>$value)
{
?>
<h4>Oferta <?php print $rute. " ".$value[0]." nopti"; ?></h4>
<table style="font-size:10px; border-collapse:collapse; " border="1" width="100%"><tr><?php
foreach(${str_replace("-","_",$rute)} as $key=>$value)
{ ?><td valign="bottom" align="center" style=" border-collapse:collapse; "><?php foreach($value as $dep) { print $dep."<br>";}?></td><?php }
?></tr><tr><?php
foreach(${str_replace("-","_",$rute)} as $key=>$value)
{ $t=explode("|",$key); ?><td style=" background-color:lightblue; border-collapse:collapse; text-align:center;"><?php print $t[0];?></td><?php }
?>
</tr></table>
<?php unset(${str_replace("-","_",$rute)});
}
*/
?>
<!-- end of prices -->
<?php
}
else
{
$feedurl =checkXmlCache('xmllocations.php?country=TURKEY&myid=travelplaza'.$PartnerID); $locations = simplexml_load_file($feedurl);
foreach($locations->country->location as $x) { $airs[trim($x['airport'])][]=$x; }
$xxx=0; $HotelsPerPage=15; $pagini=ceil($bpl['offers']/$HotelsPerPage); $pc=1; $maxi=$HotelsPerPage; $mini=1;
if(isset($_GET['pagina'])) {$pc=intval($_GET['pagina']); $maxi=$pc*$HotelsPerPage; $mini=$maxi-$HotelsPerPage+1; }
foreach ($bpl->hotel as $hbpl)
{
$xxx++;
if( ($xxx<=$maxi) and ($xxx>=$mini) )
{
$locatie=$hbpl['location'];
$imageurl="http://".$ipresurse."/hotel_images/".$hbpl['hotelcode']."___".$hbpl['defaultimage']."___medium.jpg";
$l=0; $locationLink=$self."?";
foreach($_GET as $k=>$v)
{ $l++; $si="&"; if($l==1) { $si=""; }
if( ($k!='location') and ($k!='nopti') and ($k!='hotel') and ($k!='hotelcode') and ($k!='ruta') ) { $locationLink.=$si.$k."=".$v; }
}
if($hbpl['airport']=='ANTALYA') {$linkruta="OTP_AYT";} else {$linkruta="OTP_BJV";}
$hotelLink=$self."?code=".urlencode($hbpl['hotelname']).",".$hbpl['location'].",".$hbpl['hotelcode'];
?>
<div class="box">
<div class="thumb"><img width="330" height="220" src="<?php print $imageurl; ?>" class="attachment-post-thumbnail wp-post-image" alt="<?php print $hbpl['hotelname'] ?>" title="<?php print $hbpl['hotelname'] ?>" /></div>
<a class="box-title" href="<?php print $hotelLink; ?>"><?php print $hbpl['hotelname'] ?> <?php print $hbpl['stars']; ?> <?php print number_format(floatval($hbpl['bestprice']))." ".moneda($hbpl['currency']); ?></a>
<a class="button" href="<?php print $hotelLink; ?>">Afla mai multe</a>
</div>
<?php
}
}
?>
<div style=" display: inline-block; width:100%;"> </div>
<div style="border-top:solid 1px #ccc; display:inline-table; width:100%;" align="center">
<?php
if($pc>1) { ?>
<span style=" float:left; padding:1px; margin:1px; background-color:#ccc;"><a style="text-decoration:none" href="<?php print $self."?pagina=".($pc-1); ?>">« Inapoi</a></span><?php }
for($i=1; $i<=$pagini; $i++)
{
?><span style=" float:left; padding:0px; margin:1px; border:solid 1px #ccc; <?php if($i==$pc) { ?> background-color:#ccc; <?php }?>" >
<a style="text-decoration:none; padding:0px 2px; margin:0px; line-height:10px;" href="<?php if($i==$pc) { print "#"; } else { print $self."?pagina=".$i;} ?>"><?php print $i;?></a>
</span><?php
}
if($pc<$pagini) { ?><span style=" float:left; padding:1px; margin:1px; background-color:#ccc;"><a style="text-decoration:none" href="<?php print $self."?pagina=".($pc+1); ?>">Inainte » </a></span><?php }
?>
</div>
<?php
}
?>
On my localhost it works.
But when I upload it to the servers it reads only the html.
Picture attached. Any idea of what it can be wrong? Maybe a php function on the server that might be disabled? What should I check? I have spoken with my webhost and he told me that I must know which function I need.
You can use ini_set and error_reporting to set the PHP Error Reporting to ALL and other error related ini settings.
i.e:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
Also, as mentioned in the comments, create a php file holding the phpinfo() command to see weather or not php is running on your server at all.
testphp.php
<?php
phpinfo();
If you open yourwebsitesdomain.com/testphp.php and you do not see information on php running, contact your webhoster and tell him php is not working on the server.
In this code I tried to filter some data records from the database using CategoryId but it returns all the category Id's. In my database Category Id's are INT field.
If I echo $data['Category']; then it shows all the categoryId's But after the variable comparison it not work.
I mean if($cat == 1) is Not working(It's not filter/Show data)
//Some coding here
<section id="section-1">
<div class="vs-content">
<div class="widgets-container">
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("mydb") or die(mysql_error());
$sql = "SELECT Id,Title,description,Image,Category from News ";
$query = mysql_query($sql);
?>
<div class="blocks">
<?php while($data = mysql_fetch_array($query)){
$cat = $data['Category'];
if($cat == 1){
?>
<h3 style="margin-left: 10px;"><?php echo $data['Title'] ?></h3>
<div style="width: 50%; margin-right: auto; margin-left: auto;">
<img src="images/drink2.jpg" /></div>
<img src="data:image/jpeg;base64,<?php base64_encode( $data['Image'] )?>"/>
<p style="color: white; font-size: 0.6em;"><?php echo $data['Description'] ?></p>
<?php
}
}
?>
</div>
<div class="blocks">
<?php while($data = mysql_fetch_array($query)){
$cat = $data['Category'];
if($cat == 2){
?>
<h3 style="margin-left: 10px;"><?php echo $data['Title'] ?></h3>
<div style="width: 50%; margin-right: auto; margin-left: auto;">
<img src="images/drink2.jpg" /></div>
<img src="data:image/jpeg;base64,<?php base64_encode( $data['Image'] )?>"/>
<p style="color: white; font-size: 0.6em;"><?php echo $data['Description'] ?></p>
<?php
}
}
?>
</div>
<div class="blocks">
<?php while($data = mysql_fetch_array($query)){
$cat = $data['Category'];
if($cat == 3){
?>
<h3 style="margin-left: 10px;"><?php echo $data['Title'] ?></h3>
<div style="width: 50%; margin-right: auto; margin-left: auto;">
<img src="images/drink2.jpg" /></div>
<img src="data:image/jpeg;base64,<?php base64_encode( $data['Image'] )?>"/> -->
<p style="color: white; font-size: 0.6em;"><?php echo $data['Description'] ?></p>
<?php
}
}
?>
</div>
</div>
</div>
// Some coding here
Why not filter the records in your database query? This would mean changing your database query as follows:
$sql = "SELECT Id,Title,description,Image,Category from News WHERE Category = 1";
By taking this approach less data will be returned to PHP and the database call will execute a little faster :)
Update: You only really need the three different <div class="blocks"> sections if the contents within them is going to be different. Otherwise you could simply use a single while loop and output the content for all categories in sequence using the data as ordered by the SQL statement.
//Some coding here
<section id="section-1">
<div class="vs-content">
<div class="widgets-container">
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("mydb") or die(mysql_error());
$sql = "SELECT Id,Title,description,Image,Category from News ORDER BY Category";
$query = mysql_query($sql);
?>
<div class="blocks">
<?php while($data = mysql_fetch_array($query)){
?>
<h3 style="margin-left: 10px;"><?php echo $data['Title'] ?></h3>
<div style="width: 50%; margin-right: auto; margin-left: auto;">
<img src="images/drink2.jpg" /></div>
<img src="data:image/jpeg;base64,<?php base64_encode( $data['Image'] )?>"/>
<p style="color: white; font-size: 0.6em;"><?php echo $data['Description'] ?></p>
<?php
}
?>
</div>
</div>
</div>
</section>
// Some coding here
If you only need data rendered for a single category then use the WHERE clause in SQL (See first example) to filter the data you require to reduce the SQL call and improve performance.
Why cant you check the condition in select query, Try this,
$sql = "SELECT Id,Title,description,Image,Category from News where Category='1'";
Update:
<div class="blocks">
<?php
while($data = mysql_fetch_array($query)){
$cat = $data['Category'];
if($cat == 1){ ?>
//Your code
<?php }else if($cat == 2){ ?>
// Your code
<?php }else{ ?>
<?php }?>
<?php }?>
</div>
Can anyone help me converting Html to PHP
I want to add a paypal button to my woocommerce website but I am running into a few errors.
here is the code I have in html format
<a class="paypal_checkout_button" href="websitelinkhere"><img src="https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif" width="145" height="42" style="width: 145px; height: 42px; padding-top: 30px; padding-left:20px; " border="0" align="top" alt="Check out with PayPal"></a>
Basically im using the theme - theretailer.getbowtied.com/demo the shopping cart dropdown at the top of the main page im trying to add the button into that but cant get it to display
Any help would be amazing
Edit*
this is the page im trying to add the code to
<div class="gbtr_minicart_wrapper">
<div class="gbtr_minicart">
<?php echo '<a class="paypal_checkout_button" href="websitelinkhere"><img src="https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif" width="145" height="42" style="width: 145px; height: 42px; padding-top: 30px; padding-left:20px; " border="0" align="top" alt="Check out with PayPal"></a>';?>
<?php
echo '<ul class="cart_list">';
if (sizeof($woocommerce->cart->cart_contents)>0) : foreach ($woocommerce->cart->cart_contents as $cart_item_key => $cart_item) :
$_product = $cart_item['data'];
if ($_product->exists() && $cart_item['quantity']>0) :
echo '<li class="cart_list_product">';
echo '<a class="cart_list_product_img" href="'.get_permalink($cart_item['product_id']).'">' . $_product->get_image().'</a>';
echo '<div class="cart_list_product_title">';
$gbtr_product_title = $_product->get_title();
//$gbtr_short_product_title = (strlen($gbtr_product_title) > 28) ? substr($gbtr_product_title, 0, 25) . '...' : $gbtr_product_title;
echo '' . apply_filters('woocommerce_cart_widget_product_title', $gbtr_product_title, $_product) . '';
echo '<div class="cart_list_product_quantity">'.__('Quantity:', 'theretailer').' '.$cart_item['quantity'].'</div>';
echo '</div>';
echo apply_filters( 'woocommerce_cart_item_remove_link', sprintf('×', esc_url( $woocommerce->cart->get_remove_url( $cart_item_key ) ), __('Remove this item', 'woocommerce') ), $cart_item_key );
echo '<div class="cart_list_product_price">'.woocommerce_price($_product->get_price()).'</div>';
echo '<div class="clr"></div>';
echo '</li>';
endif;
endforeach;
?>
<div class="minicart_total_checkout">
<?php _e('Cart subtotal', 'theretailer'); ?><span>
<?php echo $woocommerce->cart->get_cart_total(); ?></span>
</div>
<?php _e('View Shopping Bag', 'theretailer'); ?>
<?php _e('Proceed to Checkout', 'theretailer'); ?>
<?php
else: echo '<li class="empty">'.__('No products in the cart.','woocommerce').'</li>'; endif;
echo '</ul>';
?>
</div>
</div>
</div>
<span><?php echo $woocommerce->cart->cart_contents_count; ?></span>
</div>
Im looking for it to go under the buttons
Im looking for it to go into the gbtr_minicart section under the buttons
here you go
//some php code
?>
<a class="paypal_checkout_button" href="websitelinkhere"><img src="https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif" width="145" height="42" style="width: 145px; height: 42px; padding-top: 30px; padding-left:20px; " border="0" align="top" alt="Check out with PayPal"></a>
<?php
//php code again
<?php
echo '<a class="paypal_checkout_button" href="websitelinkhere"><img src="https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif" width="145" height="42" style="width: 145px; height: 42px; padding-top: 30px; padding-left:20px; " border="0" align="top" alt="Check out with PayPal"></a>';
?>