[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Доработка РНР модуля ТЕКДОК
autoline78
Нужна помощь в доработке встроенного модуля ТекДок - http://www.plati.ru/asp/pay.asp?idd=142172...вто&agent=40750 , CMS - WebAsyst SS5. Нужно научить добавлять товар в корзину и подключение проценки поставщиков.
Игорь_Vasinsky
доработка или учёба?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
mvg
Хау матч взис фиш? Сколько платишь?
paul85
Цитата (autoline78 @ 15.01.2015 - 17:53)
и подключение проценки поставщиков.

А кто у вас поставщики?

Базу текдоковскую уже купили в формате MySQL? Или она в комплекте со скриптом идет? =)
autoline78
Цитата (Игорь_Vasinsky @ 15.01.2015 - 18:59)
доработка или учёба?

Учеба, т.к, под OpenCart и некоторые другие цмс корзина обучена. Вот примеры :

//OpenCart
//////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////
function OpenCartAddToCart(){
$OCPID = 0;
@session_start();
if(defined('TOCART_NUMBER')){
$CurQNT = intval($_SESSION['cart'][TOCART_NUMBER.'_'.TOCART_PRICE_ID]['quantity']);
if($CurQNT>0){
$CurQNT = $CurQNT+TOCART_COUNT;
if($CurQNT>TOCART_AVAILABLE){$CurQNT=TOCART_AVAILABLE;}
$_SESSION['cart'][TOCART_NUMBER.'_'.TOCART_PRICE_ID]['quantity'] = $CurQNT;
}else{
$arOpenCart = array();
$arOpenCart['tecdoc'] = "Y";
$arOpenCart['product_id'] = $OCPID;
$arOpenCart['key'] = $OCPID;
$arOpenCart['price'] = TOCART_PRICE;
$arOpenCart['quantity'] = TOCART_COUNT;
$arOpenCart['name'] = TOCART_NAME.' ['.TOCART_ARTICLE.']';
$arOpenCart['stock'] = TOCART_AVAILABLE;
if(TECDOC_FILES_PREFIX!='' AND TOCART_IMG!=''){
$arOpenCart['image'] = TECDOC_FILES_PREFIX.TOCART_IMG;
}
$arOpenCart['brand'] = TOCART_BRAND;
$arOpenCart['product_url'] = DETAIL_URL;
$arOpenCart['day'] = TOCART_DAY;
$arOpenCart['supplier'] = TOCART_SUPPLIER;
if(defined('TOCART_STOCK') AND TOCART_STOCK!=''){$arOpenCart['supplier'].=' / '.TOCART_STOCK;}
$arOpenCart['article'] = TOCART_ARTICLE;
$_SESSION['cart'][TOCART_NUMBER.'_'.TOCART_PRICE_ID] = $arOpenCart;
}
return 1;
}
}

function OpenCartSetMeta(){
global $TCore;
$_POST['tecdoc_title'] = $TCore->Head_Title;
$_POST['tecdoc_robots'] = $TCore->Head_Robots;
$_POST['tecdoc_keywords'] = $TCore->Head_Keywords;
$_POST['tecdoc_description'] = $TCore->Head_Description;
}

function OpenCartDefineCurrencies(){
if(count($_SESSION['TECDOC_CUR_RATES'])>0 AND defined('TECDOC_DEFINE_CURRENCY')){
$_SESSION['TECDOC_CUR_MODULE']="OC";
global $registry; $obCurs = $registry->get('currency');
foreach($_SESSION['TECDOC_CUR_RATES'] as $cCur=>$cRate){
$_SESSION['TECDOC_CUR_RATES'][$cCur] = $obCurs->getValue($cCur);
}
return true;
}
}

function OpenCartIsAdmin(){
if(!isset($_SESSION['CORE_IS_ADMIN'])){$_SESSION['CORE_IS_ADMIN']="N";}
if($_SESSION['CORE_IS_ADMIN']!="Y" AND isset($_SESSION['user_id']) AND $_SESSION['user_id']>0 AND strlen($_SESSION['token'])==32){
define('CORE_IS_ADMIN',true);
$_SESSION['CORE_IS_ADMIN']="Y";
}
}


//Bitrix
//////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////
function BitrixAddToCart(){
if(defined('TOCART_NUMBER') AND CModule::IncludeModule("sale")){
if(TOCART_ART_ID>0){$BNUM = TOCART_ART_ID;}else{$BNUM = rand(999999,9999999);}
$PRICE=TOCART_PRICE;
if($PRICE<=0){$PRICE=1;}
if(defined('TOCART_STOCK') AND TOCART_STOCK!=''){$TOCART_SUP=TOCART_SUPPLIER.' / '.TOCART_STOCK;}else{$TOCART_SUP=TOCART_SUPPLIER;}
$arFields = Array(
"PRODUCT_ID" => $BNUM,
"PRICE" => TOCART_PRICE,
"CURRENCY" => TECDOC_DEFAULT_CUR,
"LID" => "s1", //обязательно
"FUSER_ID" => CSaleBasket::GetBasketUserID(),
"QUANTITY" => TOCART_COUNT,
"NAME" => TOCART_NAME,
"DELAY" => "N",
"CAN_BUY" => "Y",
"NOTES" => 1, //Тип цены
"DETAIL_PAGE_URL" => DETAIL_URL,
"PROPS" => Array(
Array("NAME"=>"Номер","CODE"=>"ART","VALUE"=& gt;TOCART_ARTICLE,"SORT"=>1),
Array("NAME"=>"Фирма","CODE"=>"BRAND_TITLE","VALUE "=>TOCART_BRAND,"SORT"=>2),
Array("NAME"=>"Дней","CODE"=>"DAY","VALUE"=&g t;TOCART_DAY,"SORT"=>3),
Array("NAME"=>"Поставщик","CODE"=>"SUPPLIER","VALU E"=>$TOCART_SUP,"SORT"=>4),
)
);
if(TECDOC_FILES_PREFIX!='' AND TOCART_IMG!=''){
$arFields["PROPS"][] = Array("NAME"=>"Картинка","CODE"=>"IMAGE","VALUE&qu ot;=>TECDOC_FILES_PREFIX.TOCART_IMG,"SORT"=>5);
}
$NID = CSaleBasket::Add($arFields);
return $NID;
}
}

function BitrixSetMeta(){
global $APPLICATION;
global $TCore;
$APPLICATION->SetPageProperty("title", $TCore->Head_Title);
$APPLICATION->SetPageProperty("robots", $TCore->Head_Robots);
$APPLICATION->SetPageProperty("keywords", $TCore->Head_Keywords);
$APPLICATION->SetPageProperty("description", $TCore->Head_Description);
}

function BitrixIsAdmin(){
if(!isset($_SESSION['CORE_IS_ADMIN'])){$_SESSION['CORE_IS_ADMIN']="N";}
if($_SESSION['CORE_IS_ADMIN']!="Y"){
global $USER;
if($USER->IsAdmin()){
define('CORE_IS_ADMIN',true);
$_SESSION['CORE_IS_ADMIN']="Y";
}
}
}

function BitrixDefineCurrencies(){
if(count($_SESSION['TECDOC_CUR_RATES'])>0 AND defined("TECDOC_DEFINE_CURRENCY") AND CModule::IncludeModule("currency")){
$_SESSION['TECDOC_CUR_MODULE']="BX";
$rsCurs = CCurrencyRates::GetList($by="date",$order="desc", Array());
while($arCurs = $rsCurs->Fetch()){
$arBxCurs[$arCurs['CURRENCY']] = 1/($arCurs['RATE']/$arCurs['RATE_CNT']); //Прямой курс
}
if(count($arBxCurs)<=0){echo '<div class="psys_error">Warning! Create Bitrix <a href="/bitrix/admin/currencies_rates.php">currency rates</a></div>';}
foreach($_SESSION['TECDOC_CUR_RATES'] as $cCur=>$cRate){
$_SESSION['TECDOC_CUR_RATES'][$cCur] = $arBxCurs[$cCur];
}
return true;
}
}


//WordPress
//////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////
function WordPressSetMeta(){
global $TCore;
$_POST['tecdoc_title'] = $TCore->Head_Title;
$_POST['tecdoc_robots'] = $TCore->Head_Robots;
$_POST['tecdoc_keywords'] = $TCore->Head_Keywords;
$_POST['tecdoc_description'] = $TCore->Head_Description;
}
function WordPressAddToCart(){
$CART_ITEM_ID = 1;
if(defined('TOCART_NUMBER')){
$DESC=$arShop['STR_DES_TEXT'];
$parameters = array();
$parameters['tecdoc'] = 1;
$parameters['unit_price'] = TOCART_PRICE;
$parameters['tecdoc_brand'] = TOCART_BRAND;
$parameters['tecdoc_name'] = TOCART_NAME.' ['.TOCART_ARTICLE.']';
$parameters['quantity'] = TOCART_COUNT;
$parameters['product_url'] = CORE_ROOT_DIR.'/search/'.TOCART_ARTICLE.'/';
$parameters['tecdoc_day'] = TOCART_DAY;
if(defined('TOCART_STOCK') AND TOCART_STOCK!=''){$parameters['tecdoc_stock'] = TOCART_STOCK; $St=', склад "'.TOCART_STOCK.'"';}
$parameters['tecdoc_supplier'] = TOCART_SUPPLIER;
$parameters['tecdoc_available'] = TOCART_AVAILABLE;
if(intval($parameters['tecdoc_day'])>0){$Dn=TOCART_DAY.' дн.';}else{$Dn=TOCART_DAY;}
$parameters['custom_message'] = TOCART_NAME.' :: '.TOCART_ARTICLE.' :: '.TOCART_BRAND.'
Поставщик "'.TOCART_SUPPLIER.'"'.$St.', '.$Dn.'
Цена '.TOCART_PRICE.' x'.TOCART_COUNT.' шт.

' ;
$parameters['sku'] = TOCART_AVAILABLE;
if(TECDOC_FILES_PREFIX!='' AND TOCART_IMG!=''){
$parameters['tecdoc_img'] = TECDOC_FILES_PREFIX.TOCART_IMG;
}
global $wpsc_cart;
$status = $wpsc_cart->set_item($CART_ITEM_ID, $parameters, false);

return 1;
}
}


//Prestashop
//////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////
function PrestashopSetMeta(){
global $TCore;
$_POST['tdmod_title'] = $TCore->Head_Title;
$_POST['tdmod_keywords'] = $TCore->Head_Keywords;
$_POST['tdmod_description'] = $TCore->Head_Description;
}

//Joomla (with jshopping component)
//////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////
function JoomlaJShoppingAddToCart(){
if(defined('TOCART_NUMBER')){
$CurQNT = intval($_SESSION['tdm_cart'][TOCART_NUMBER.'_'.TOCART_PRICE_ID]['quantity']);
if($CurQNT>0){
$CurQNT = $CurQNT+TOCART_COUNT;
//if($CurQNT>TOCART_AVAILABLE){$CurQNT=TOCART_AVAILABLE;}
$_SESSION['tdm_cart'][TOCART_NUMBER.'_'.TOCART_PRICE_ID]['quantity'] = $CurQNT;
}else{
$arTDCart = array();
$arTDCart['tdm'] = "Y";
$arTDCart['price'] = floatval(TOCART_PRICE);
$arTDCart['quantity'] = TOCART_COUNT;
$arTDCart['name'] = TOCART_NAME;
$arTDCart['available'] = TOCART_AVAILABLE;
if(TECDOC_FILES_PREFIX!='' AND TOCART_IMG!=''){ $arTDCart['image'] = TECDOC_FILES_PREFIX.TOCART_IMG; }
$arTDCart['brand'] = TOCART_BRAND;
$arTDCart['product_url'] = DETAIL_URL;
$arTDCart['day'] = TOCART_DAY;
$arTDCart['supplier'] = TOCART_SUPPLIER;
if(defined('TOCART_STOCK') AND TOCART_STOCK!=''){$arTDCart['supplier'].=' / '.TOCART_STOCK;}
$arTDCart['article'] = TOCART_ARTICLE;
$_SESSION['tdm_cart'][TOCART_NUMBER.'_'.TOCART_PRICE_ID] = $arTDCart;
//cms params
$arTDCart['product_id'] = 0;
$arTDCart['category_id'] = 0;
}
return 1;
}
}

function JoomlaSetMeta(){
global $TCore;
$_POST['tecdoc_title'] = $TCore->Head_Title;
$_POST['tecdoc_keywords'] = $TCore->Head_Keywords;
$_POST['tecdoc_description'] = $TCore->Head_Description;
}

function JoomlaJShDefineCurrencies(){
if(defined("TECDOC_DEFINE_CURRENCY")){
$_SESSION['TECDOC_CUR_MODULE']="JSHOP";
$arCurrs = JSFactory::getAllCurrency();
foreach($arCurrs as $cId=>$obCur){
$cIso = (string)$obCur->currency_code_iso;
$cRate = (float)$obCur->currency_value;
$_SESSION['TECDOC_CUR_RATES'][$cIso] = $cRate;
}
return true;
}
}

//VirtueMart
function VirtueMartAddToCart(){
if(defined('TOCART_NUMBER')){
$product = new stdClass();
$product -> virtuemart_product_id = TOCART_NUMBER.'_'.TOCART_PRICE_ID;
$product -> mf_name = TOCART_BRAND;
if(defined('TOCART_STOCK') AND TOCART_STOCK!=''){$product -> mf_name.=' / '.TOCART_STOCK;}
$product -> product_price = TOCART_PRICE;
$product -> product_currency = 144;
$product -> product_name = TOCART_NAME;
$product -> product_sku = TOCART_ARTICLE;
$product -> product_s_desc = TOCART_BRAND;
$product -> product_in_stock = TOCART_AVAILABLE;
if(TECDOC_FILES_PREFIX!='' AND TOCART_IMG!=''){
$product->image = TECDOC_FILES_PREFIX.TOCART_IMG;
}
$product -> link = DETAIL_URL;
$product->quantity = TOCART_COUNT;
$arUnSess = unserialize($_SESSION['__vm']['vmcart']);
$arUnSess->products[$product->virtuemart_product_id] = $product;
$_SESSION['__vm']['vmcart'] = serialize($arUnSess);
return 1;
}
}
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.