Opencart + TecDoc

Статус
В этой теме нельзя размещать новые ответы.
пошагово покажите что Вы сделали
1. залил isearch в ОС
2. установил и активировал его
3. отредактировал файл catalog/view/javascript/common.js заменив секцию поиска на любезно выложенную здесь.
спасибо
 
у меня БД , дамп размером 24 Гб - импортирую ВоркБенчем на внешний диск (все локальный комп) - и уже за 4 суток тольоко 3.5 Гб импортировало - как то можно быстрее сделать
Оптимизация MySQL
-----------------

Делал согласно этим инструкциям:
Рекомендую использовать хранилище InnoDB, т.к. оно позволяет кэшировать в памяти не только индексы,
но и данные таблиц. При желании вы можете загрузить всё и в MyISAM, воспользовавшись соответствующим
SQL-скриптом создания структуры таблиц.

Все перечисленные ниже параметры указываются в разделе [mysqld] файла:
my.cnf (под Linux/UNIX)
my.ini (под Windows)
После изменения параметров в этом файле нужно перезапустить MySQL.

Общие для любого хранилища оптимизации:
query_cache_size=128M
query_cache_limit=128K

Включает кэш SQL-запросов размером 128 МБ, куда сохраняются результаты всех запросов размером меньше 128 КБ
(чтоб не забить весь кэш несколькими крупными запросами, которые обычно редко повторяются). Если памяти
на сервере больше 4 ГБ и посещаемость сайта высокая, есть смысл ещё увеличить query_cache_size в 2 или даже 4
раза.

Оптимизация хранилища InnoDB
----------------------------
Если заливаете в хранилище InnoDB, основная настройка, влияющая на скорость заливки (да и работы
базы потом тоже:(
innodb_buffer_pool_size=1024M

Выделяет 1024 МБ под общий кэш на данные и индексы в InnoDB - в т.ч. под операции создания индексов.
Всего MySQL в этом случае съедает около 1.5 ГБ оперативной памяти. Если памяти мало, выделите под этот
параметр хотя бы 512 МБ. Если памяти много и MySQL 64-битный, есть смысл выделить здесь наоборот больше:
2 или даже 4 ГБ. На 32-битной версии больше 1 ГБ здесь выделить редко удаётся.

Также очень полезно в случае InnoDB добавить параметр:
innodb_file_per_table=1

Он заставляет MySQL хранить каждую таблицу хранилища InnoDB в отдельном файле с названием вида
"ИмяБазы/ИмяТаблицы.ibd". Иначе все таблицы размещаются в общем файле "ibdata1", который
только увеличивается и никогда не уменьшается - даже при удалении таблиц и баз данных!
MySQL после изменения настроек нужно перезапустить.
Если до этого у вас в MySQL уже были таблицы формата InnoDB, после изменения параметра
они останутся в файле "ibdata1" - в отдельные файлы попадут только таблицы, созданные позже.
Если хотите также переместить старые таблицы InnoDB в отдельные файлы, примените SQL-команду:
ALTER TABLE ИмяБазы.ИмяТаблицы ENGINE=InnoDB;
для каждой из своих старых таблиц. После этого можно завершить работу MySQL, удалить файл
"ibdata1", и при очередном запуске MySQL создаст стандартный пустой файл "ibdata1" размером
10 МБ, а все таблицы окажутся в отдельных файлах.

Другие настройки InnoDB моего сервера - подобраны практическим путём. Какие из них более
значимые - не экспериментировал, но в целом с такими настройками импорт значительно ускоряется
на всех серверах, куда я заливал базу Текдока:

innodb_additional_mem_pool_size=32M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=12M
innodb_thread_concurrency=8
innodb_lock_wait_timeout=300
innodb_file_io_threads=8

Оптимизация хранилища MyISAM
----------------------------
Если заливаете в хранилище MyISAM, используйте такие настройки:

Кэш индексов - возможно и не используется при создании индексов, но точно используется при дальнейшей
работе с таблицами:
key_buffer_size = 128M
Буфер в оперативной памяти под операции создания индексов:
myisam_sort_buffer_size = 512M
Максимальный размер временного файла НА ВИНТЕ для создания индекса, лучше ставить довольно большим,
иначе индексы делаются как-то совсем медленно через keycache:
myisam_max_sort_file_size = 10G
 
Кто может помочь реализовать такую форму в которой отображается доп. инфо для покупателя без надобности щелкать каждый раз на кнопку "И" или кнопку фото?

upload_2014-9-24_11-48-54.png

я сижу над этой проблемой 4 день, сам не програмер, все методом "тыка", смог реализовать лишь это:
upload_2014-9-24_11-57-22.png

Работаю с этими файлами:
1. отвечает за вывод деталей parts/components/parts.list.view/templates/default/template.php (отредактированный мною файл прилагается)

2. функции из кнопки I parts/components/part.chars/component.php
$ART_ID = intval(substr($arParams['ART_ID'],0,16));
if($ART_ID>0){
//Characteristics
$rsProps = TDSQL::GetPropertys($ART_ID,TECDOC_LNG_ID);
$arCRNAMEs=Array();
while($arProps = $rsProps->GetNext()){
$arResult['SHOW_CHARS']="Y"; $arResult['ACTIVE']="Y";
$arProps['CRITERIA_DES_TEXT'] = str_replace('/мм?','/мм²',$arProps['CRITERIA_DES_TEXT']);
$arProps['CRITERIA_DES_TEXT'] = str_replace('? ','Ø ',$arProps['CRITERIA_DES_TEXT']);
if(!in_array($arProps['CRITERIA_DES_TEXT'],$arCRNAMEs)){
$arResult['CHARS'][] = Array("NAME"=>$arProps['CRITERIA_DES_TEXT'], "VALUE"=>$arProps['CRITERIA_VALUE_TEXT']);
$arCRNAMEs[] = $arProps['CRITERIA_DES_TEXT']; //Hide dublicate names
}
}

3. функции из вкладки доп. инфо при нажатии на наименование продукта parts/components/parts.detail/component.php
//More Info
$rsDopInfo = TDSQL::GetDopInfo($ART_ID,TECDOC_LNG_ID);
while($arDopInfo = $rsDopInfo->GetNext()){
$arResult['SHOW_INFO'] = "Y";
$arResult['INFO'][] = $arDopInfo['AIN_TMO_TEXT'];
}
if(USE_STATISTIC=="Y"){$arStat[] = Array("More Info",microtime(true));}
if($TCore->arSettings['MAIN']['TECDOC_FILES_PREFIX']!=''){
//PHOTO
$rsImgs = TDSQL::GetImages($arPart['ART_ID'],TECDOC_LNG_ID);
while($arImg = $rsImgs->GetNext()){
$arResult['SHOW_IMGS'] = "Y";
$arResult['IMGS'][] = TECDOC_FILES_PREFIX.$arImg['PATH'];
if($FstImg==0){$arPart['IMG'] = $arImg['PATH']; $FstImg=1;}
}
 

Вложения

  • template.7z
    2,8 KB · Просмотры: 42
у меня БД , дамп размером 24 Гб - импортирую ВоркБенчем на внешний диск (все локальный комп) - и уже за 4 суток тольоко 3.5 Гб импортировало - как то можно быстрее сделать
Не знаю, что такое WorkBench не пользовал, но всю жизнь большие базы сливаю/заливаю отличным скриптом Sypex Dumper Lite
 
1. залил isearch в ОС
2. установил и активировал его
3. отредактировал файл catalog/view/javascript/common.js заменив секцию поиска на любезно выложенную здесь.
спасибо
какие выставлены параметры isearsh?
 
Здравствуйте! подскажите пожалуйста как в модуле сделать отображение цены с 736560.58 на такую 736 560 ?
И как можно сделать чтобы товары в строке с "количеством 0" не импортировались в базу? Либо не выводились.
 
Здравствуйте! подскажите пожалуйста как в модуле сделать отображение цены с 736560.58 на такую 736 560 ?
И как можно сделать чтобы товары в строке с "количеством 0" не импортировались в базу? Либо не выводились.
по поводу цен все просто в админки при создании шаблона для импорта есть секция политики импорта цен (скриншот на иврите но визуально объясняет где это находится)
убрать наименования с значением "0", думаю где то там же находится настройка, но я все это делаю на уровне эксель, мне кажется так значительно проще.
upload_2014-9-25_13-3-2.png
upload_2014-9-25_13-4-10.pngupload_2014-9-25_13-3-2.png upload_2014-9-25_13-4-10.png
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху