1. Go to this page and download the library: Download thenbsp/cart-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
thenbsp / cart-bundle example snippets
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new Thenbsp\CartBundle\ThenbspCartBundle()
// ...
);
}
// src/AppBundle/Entity/Product.php
use Doctrine\ORM\Mapping AS ORM;
use Thenbsp\CartBudnle\Core\EntityInterface;
/**
* @ORM\Entity
* @ORM\Table(name="products")
*/
class Product implements EntityInterface
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="decimal", precision=10, scale=2)
*/
protected $price;
/**
* @ORM\Column(type="text")
*/
protected $description;
/**
* 返回商品唯一标识
*/
public function getId()
{
return $this->id;
}
/**
* 返回商品单价
*/
public function getPrice()
{
return $this->price;
}
// ...
}
$cart = $this->get('thenbsp_cart');
// src/EventListener/CartListener.php
use Thenbsp\CartBundle\Event\Events;
use Thenbsp\CartBundle\Event\ItemEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class CartListener implements EventSubscriberInterface
{
public static function getSubscribedEvents()
{
return array(
Events::ADD_BEFORE => 'onCartAddBefore'
);
}
public function onCartAddBefore(ItemEvent $event)
{
// 被添加到购物车的商品对象
$entity = $event->getEntity();
// 商品的数量
$quantity = $event->getQuantity();
// 如果商品状态为 “已禁用”,则不添加到购物车
if( $entity->getStatus() === 'disabled' ) {
$event->stopPropagation();
}
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.