Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mruoppolo

Orientação a Objeto

Recommended Posts

Galera blz??

 

Eu estou com uma dúvida, eu tenho uma class porém não sei utilizar, é o seguinte arquivo:

class ISC_CART{

//TEM MAIS COISA, PORÉM VOU COLOCAR AQUI APENAS A FUNÇÃO QUE PRECISO UTILIZAR SENÃO FICA MUITO GRANDE

public function HandlePage()
		{
			$action = "";
			if (isset($_REQUEST['action'])) {
				$action = isc_strtolower($_REQUEST['action']);
			}

			$GLOBALS['AdditionalStylesheets'][] = GetConfig('AppPath').'/javascript/jquery/plugins/imodal/imodal.css';

			switch ($action) {
				case "add": {
					$this->AddToCart();
					break;
				}
				case "addcertificate": {
					$this->AddGiftCertificateToCart();
					break;
				}
				case "remove": {
					$this->RemoveFromCart();
					break;
				}
				case "update": {
					$this->UpdateInCart();
					break;
				}
				case "applycoupon": {
					$this->ApplyCoupon();
					break;
				}
				case "applygiftcertificate": {
					$this->ApplyGiftCertificate();
					break;
				}
				case 'save_giftwrapping': {
					$this->SaveGiftWrapping();
					break;
				}
				case 'remove_giftwrapping': {
					$this->RemoveGiftWrapping();
					break;
				}
				case "removegiftcertificate": {
					$this->RemoveGiftCertificate();
					break;
				}
				case "editproductfieldsincart": {
					$this->EditProductFieldsInCart();
					break;
				}
				case "removecoupon":
					$this->RemoveCoupon();
					break;
				case "addreorderitems":
					$this->AddReorderItems();
					break;
				default: {
					$this->ShowRegularCart();
				}
			}
		}

}

Eu preciso saber usar esta HandlePage() com a switch case add eu ja tenho o id do produto e a quantidade, só preciso saber como faço para utilizar isso ai, eu ja sei que preciso instanciar a classe, tipo:

 

$variavel = new class e talz, mas não sei orientação a objetos, alguém pode dar um help??

 

Valew :D


Achei um código aqui que faz exatamente o que eu preciso, exatamente nesta mesma classe:

public function AddSimpleProductToCart($product_id, $qty = 1)
		{
			$error = "";

			$query = "
				SELECT p.*, ".GetProdCustomerGroupPriceSQL()."
				FROM [|PREFIX|]products p
				WHERE p.productid='".(int)$product_id."'
			";
			$result = $GLOBALS['ISC_CLASS_DB']->Query($query);
			$product = $GLOBALS['ISC_CLASS_DB']->Fetch($result);

			// Check that the customer has permisison to view this product
			$canView = false;
			$productCategories = explode(',', $product['prodcatids']);
			foreach($productCategories as $categoryId) {
				// Do we have permission to access this category?
				if(CustomerGroupHasAccessToCategory($categoryId)) {
					$canView = true;
				}
			}
			if($canView == false) {
				$_SESSION['AddProductErrorMessage'] = sprintf(GetLang("NoPermissionAddProduct"), $product["prodname"]);
				return false;
			}

			// Actually add the product to the cart
			$cartItemId = $this->api->AddItem($product_id, $qty);
			$this->newCartItem = $cartItemId;

			if($cartItemId === false) {
				$error = implode('\n', $this->api->GetErrors());
				if(!$error) {
					$error = GetLang('ProductUnavailableForPruchase');
				}
				$_SESSION['AddProductErrorMessage'] = $error;
				return false;
			}

			$this->api->UpdateCartInformation();

			return true;
		}

Esta função me salva, eu coloco a quantidade e o id é exatamente o que eu preciso, alguém sabe como posso fazer??

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

:wacko: Confuso!

 

Você quer estanciar a classe que contem estes métodos que esta no switch?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.