autoline78
15.01.2015 - 17:53
Нужна помощь в доработке встроенного модуля ТекДок -
http://www.plati.ru/asp/pay.asp?idd=142172...вто&agent=40750 , CMS - WebAsyst SS5. Нужно научить добавлять товар в корзину и подключение проценки поставщиков.
Игорь_Vasinsky
15.01.2015 - 18:59
доработка или учёба?
_____________
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
Хау матч взис фиш? Сколько платишь?
paul85
15.01.2015 - 22:26
Цитата (autoline78 @ 15.01.2015 - 17:53) |
и подключение проценки поставщиков. |
А кто у вас поставщики?
Базу текдоковскую уже купили в формате MySQL? Или она в комплекте со скриптом идет? =)
autoline78
16.01.2015 - 01:43
Цитата (Игорь_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;
}
}
?>