Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Если интересует в виде клонов сайта, могу предложить свои работы, есть несколько вариантов в разных дизайнах. Программный код за исключением дизайна/верстки делал сам.Добрый день. Очень много написано. Установил я модуль на оперкарт 2.0.31. добавил файлы интеграции. Базу данных так и не нашел. Кто нибудь может предложить свою помощь в виде готового клона сайта вместе с базой с установкой на мой сервер. И сколько это будет стоить?
static public function getArticlesIdsByBkeyAkey($AKEY, $BKEY, $LNG_ID = TDM_LANG_ID) {
global $TDMCore;
$SQL = "SELECT * FROM (SELECT DISTINCT "
. "IF (ART_LOOKUP.ARL_KIND IN (2, 3), BRANDS.BKEY, SUPPLIERS.BKEY) AS BKEY, "
. "ART_LOOKUP.ARL_SEARCH_NUMBER AS ARTICLE, "
. "ART_LOOKUP.ARL_KIND AS KIND, "
. "ARTICLES.ART_ID AS AID, "
. "DES_TEXTS.TEX_TEXT AS TD_NAME "
. "FROM ART_LOOKUP "
. "LEFT JOIN BRANDS ON BRANDS.BRA_ID = ART_LOOKUP.ARL_BRA_ID "
. "INNER JOIN ARTICLES ON ARTICLES.ART_ID = ART_LOOKUP.ARL_ART_ID "
. "INNER JOIN SUPPLIERS ON SUPPLIERS.SUP_ID = ARTICLES.ART_SUP_ID "
. "INNER JOIN DESIGNATIONS ON DESIGNATIONS.DES_ID = ARTICLES.ART_COMPLETE_DES_ID "
. "INNER JOIN DES_TEXTS ON DES_TEXTS.TEX_ID = DESIGNATIONS.DES_TEX_ID "
. "WHERE " . "ART_LOOKUP.ARL_SEARCH_NUMBER = '" . mysql_real_escape_string($AKEY) . "' AND "
. "ART_LOOKUP.ARL_KIND IN (1, 2, 3, 4, 5) AND "
. "DESIGNATIONS.DES_LNG_ID = " . (int) $LNG_ID . " "
. "ORDER BY ARL_KIND DESC) AS PARTS HAVING PARTS.BKEY = '" . $BKEY . "' ORDER BY AID DESC LIMIT 1"; // нужно еще поиграться
$resultArray = array();
$resDB = new TDSQLQuery();
$resDB->QuerySelect($SQL);
while ($arDB = $resDB->Fetch()) {
$resultArray[] = $arDB;
}
return $resultArray;
}
$articleIds = array();
// Получаем идишник/ики артикуля
$articlesInfo = TDSQL::getArticlesIdsByBkeyAkey($AKEY, $BKEY);
foreach($articlesInfo as $articleInfo){
$articleIds[] = $articleInfo['AID'];
}
//ArtIdImage тоже из query.php, с ее помощью и получаем сами изображения
$rsImage = TDSQL::ArtIdImage($articleIds);
while ($arImage = $rsImage->Fetch()) {
if(!strpos($arImage["PATH"], '0/0.jpg') && !empty($arImage["PATH"])){ //file_exists($_SERVER['DOCUMENT_ROOT'].'/autoparts/media/product_image/'.$arImage["PATH"])){
if(empty($arResult['IMG_SRC'])){
$arResult['IMG_SRC'] = TDM_PROTOCOL . TECDOC_FILES_PREFIX . $arImage["PATH"];
}else{
$arResult["IMG_ADDITIONAL"][] = TDM_PROTOCOL . TECDOC_FILES_PREFIX . $arImage["PATH"];
}
$arResult["IMG_FROM"] = 'TecDoc';
$arResult["IMG_ZOOM"] = 'Y';
}
}
static public function ArtIdImage($ART_ID, $LIMIT = 5, $LNG_ID = TDM_LANG_ID)
{
$SQL = "SELECT DISTINCT CONCAT('TOF_GRA_DATA_', GRA_TAB_NR, '/', GRA_GRD_ID, '.', IF(LOWER(DOC_EXTENSION)='jp2', 'jpg', LOWER(DOC_EXTENSION))) AS PATH, GRAPHICS.GRA_GRD_ID"
. " FROM LINK_GRA_ART"
. " INNER JOIN GRAPHICS ON GRA_ID = LGA_GRA_ID"
. " INNER JOIN DOC_TYPES ON DOC_TYPE = GRA_DOC_TYPE"
. " WHERE (GRA_LNG_ID = " . (int) $LNG_ID . " OR GRA_LNG_ID = 255) AND GRA_DOC_TYPE <> 2";
if(is_array($ART_ID)){
$SQL .= " AND LGA_ART_ID IN(" . implode(',',$ART_ID) . ") ";
}else{
$SQL .= " AND LGA_ART_ID = " . (int) $ART_ID ;
}
$SQL .= " ORDER BY GRAPHICS.GRA_GRD_ID";
if($LIMIT){
$SQL .= " LIMIT ".$LIMIT;
}
$resDB = new TDSQLQuery();
$resDB->QuerySelect($SQL);
return $resDB;
}
Например у себя делал следующим образом
Так как картинки можно получить только после получения id артикула использовал функцию getArticlesIdsByBkeyAkey, которая возвращает id, это что то на подобие GetPartByPKEY
Код:static public function getArticlesIdsByBkeyAkey($AKEY, $BKEY, $LNG_ID = TDM_LANG_ID) { global $TDMCore; $SQL = "SELECT * FROM (SELECT DISTINCT " . "IF (ART_LOOKUP.ARL_KIND IN (2, 3), BRANDS.BKEY, SUPPLIERS.BKEY) AS BKEY, " . "ART_LOOKUP.ARL_SEARCH_NUMBER AS ARTICLE, " . "ART_LOOKUP.ARL_KIND AS KIND, " . "ARTICLES.ART_ID AS AID, " . "DES_TEXTS.TEX_TEXT AS TD_NAME " . "FROM ART_LOOKUP " . "LEFT JOIN BRANDS ON BRANDS.BRA_ID = ART_LOOKUP.ARL_BRA_ID " . "INNER JOIN ARTICLES ON ARTICLES.ART_ID = ART_LOOKUP.ARL_ART_ID " . "INNER JOIN SUPPLIERS ON SUPPLIERS.SUP_ID = ARTICLES.ART_SUP_ID " . "INNER JOIN DESIGNATIONS ON DESIGNATIONS.DES_ID = ARTICLES.ART_COMPLETE_DES_ID " . "INNER JOIN DES_TEXTS ON DES_TEXTS.TEX_ID = DESIGNATIONS.DES_TEX_ID " . "WHERE " . "ART_LOOKUP.ARL_SEARCH_NUMBER = '" . mysql_real_escape_string($AKEY) . "' AND " . "ART_LOOKUP.ARL_KIND IN (1, 2, 3, 4, 5) AND " . "DESIGNATIONS.DES_LNG_ID = " . (int) $LNG_ID . " " . "ORDER BY ARL_KIND DESC) AS PARTS HAVING PARTS.BKEY = '" . $BKEY . "' ORDER BY AID DESC LIMIT 1"; // нужно еще поиграться $resultArray = array(); $resDB = new TDSQLQuery(); $resDB->QuerySelect($SQL); while ($arDB = $resDB->Fetch()) { $resultArray[] = $arDB; } return $resultArray; }
Код:$articleIds = array(); // Получаем идишник/ики артикуля $articlesInfo = TDSQL::getArticlesIdsByBkeyAkey($AKEY, $BKEY); foreach($articlesInfo as $articleInfo){ $articleIds[] = $articleInfo['AID']; } //ArtIdImage тоже из query.php, с ее помощью и получаем сами изображения $rsImage = TDSQL::ArtIdImage($articleIds); while ($arImage = $rsImage->Fetch()) { if(!strpos($arImage["PATH"], '0/0.jpg') && !empty($arImage["PATH"])){ //file_exists($_SERVER['DOCUMENT_ROOT'].'/autoparts/media/product_image/'.$arImage["PATH"])){ if(empty($arResult['IMG_SRC'])){ $arResult['IMG_SRC'] = TDM_PROTOCOL . TECDOC_FILES_PREFIX . $arImage["PATH"]; }else{ $arResult["IMG_ADDITIONAL"][] = TDM_PROTOCOL . TECDOC_FILES_PREFIX . $arImage["PATH"]; } $arResult["IMG_FROM"] = 'TecDoc'; $arResult["IMG_ZOOM"] = 'Y'; } }
Код:static public function ArtIdImage($ART_ID, $LIMIT = 5, $LNG_ID = TDM_LANG_ID) { $SQL = "SELECT DISTINCT CONCAT('TOF_GRA_DATA_', GRA_TAB_NR, '/', GRA_GRD_ID, '.', IF(LOWER(DOC_EXTENSION)='jp2', 'jpg', LOWER(DOC_EXTENSION))) AS PATH, GRAPHICS.GRA_GRD_ID" . " FROM LINK_GRA_ART" . " INNER JOIN GRAPHICS ON GRA_ID = LGA_GRA_ID" . " INNER JOIN DOC_TYPES ON DOC_TYPE = GRA_DOC_TYPE" . " WHERE (GRA_LNG_ID = " . (int) $LNG_ID . " OR GRA_LNG_ID = 255) AND GRA_DOC_TYPE <> 2"; if(is_array($ART_ID)){ $SQL .= " AND LGA_ART_ID IN(" . implode(',',$ART_ID) . ") "; }else{ $SQL .= " AND LGA_ART_ID = " . (int) $ART_ID ; } $SQL .= " ORDER BY GRAPHICS.GRA_GRD_ID"; if($LIMIT){ $SQL .= " LIMIT 4"; } $resDB = new TDSQLQuery(); $resDB->QuerySelect($SQL); return $resDB; }
Модуль v3.0.15. Скачал с соседнего сайта вместе с интеграцией. Находится в свободном доступе. БД модуля подключена как я понимаю. Нету бд автозапчастейГде вы взяли модуль? Его версия?
Где взяли интергацию с 2,0,31?
Не нашли БД модуля - или БД автозапчастей? - для работы модуля необходимы они обе.
да стоит база текдок. модуль на первый взгляд работает. Без базы автозапчастей я проверить не могу. Про базу автозапчастей - я так понимаю не так всё просто. я скачал - у меня не получилось установить. Я не веб программист. Вообще никак. Прошу помощи за деньги. Нужно готовое решение с любым дизайном. Есть собственный сервер с диском >200гб. Должно хватить на базу запчастейНа соседнем сайте идёт бурное обсуждение находящегося в свободном доступе модуля. Сходятся во мнении, что выложенный в свободный доступ модуль- кривой и не работоспособен. Только вы можете ответить на вопрос, установили вы БД модуля или нет. БД автозапчастей легко находится тут:
Для просмотра ссылки Войдиили Зарегистрируйся
Етот сайт не доделан набирите kyb 335810 и зайдите в применяемость. Да и индексации в поисковиках клиентам не нужно я так понимаю.Если интересует в виде клонов сайта,
Для просмотра ссылки Войдиили Зарегистрируйся
Выручайте криво работает корзина, хелпКтото может кинуть файлы интеграции модуля 3.0.15 под opencart 2.1. Буду очень благодарен.