Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Leaderboard

Popular Content

Showing content with the highest reputation on 06/20/2011 in all areas

  1. 1 point
  2. Прежде чем купить следует выяснить какие библиотеки понадобятся для данной системы оплаты на сервере, есть ли они у хостера. Предоставляют ли переводы в Украину желаемые системы и тому подобное. Я вот зарегил себе а у хастера нет библиотеки, надо на другой план переходить а там ого-го-го какие бабки платить. Отказался. https://opencartforum.com/public/style_emoticons/default/dry.gif
    1 point
  3. История такая. Я добавил дополнительные поля продукта по инструкции https://opencartforum.com/topic/156-дополнительные-поля-продукта/. И возникла проблема их выгрузки в exel и обратной загрузки. Допустим надо добавить переменную 'year' Открываем /admin/model/tool/export.php 1. Строка 284. В следующую строчку после $sort_order = $product[40]; вставляем $year = $product[41]; 2. Строка 294. "`tax_class_id`,`viewed`,`length`,`width`, и т.д. после значения 'cost' вставляем 'year' 3. Строка 301. "$taxClassId,$viewed,$length,$width,$height, и т.д. после значения 'cost' вставляем '$year' 4. Строка 433. После строки $cost = isset($row[37]) ? $row[37] : "0.00"; вставляем строку $year = isset($row[38]) ? $row[38] : ""; 5. Строка 491. После строки $product[40] = $sort_order; вставляем строку $product[41] = $year; 6. Строка 1066. В строке ( "product_id", "name", "categories", "sku", и т.д. после "cost" вставляем "year" 7. Строка 1346. После $worksheet->setColumn($j,$j++,max(strlen('price'),10)+1,$priceFormat); вставляем $worksheet->setColumn($j,$j++,max(strlen('year'),8)+1,$textFormat); 8. Строка 1394. После $worksheet->writeString( $i, $j++, 'cost', $boxFormat ); вставляем $worksheet->writeString( $i, $j++, 'year', $boxFormat ); 9. Строка 1441. После $query .= " p.cost, "; вставляем $query .= " p.year, "; 10. Строка 1522. После $worksheet->write( $i, $j++, $row['cost'], $priceFormat ); вставляем $worksheet->write( $i, $j++, $row['year], $textFormat ); Жирным выделил места на которые надо обратить внимание. После этого работает выгрузка и загрузка дополнительный полей продукта. Если нужно больше одного поля, то делается по аналогии сколько угодно.
    1 point
  4. Драйвер достаточно простой. Если он видит что запрос начинается с "SELECT", он формирует ключь (md4hex) и смотрит наличие данного запроса в кэше. Если он в кэше есть, тогда берется значение из кэша. Если в кэше значения нет - делается запрос к БД и результат кроме выдачи наружу еще записывается в кэшь. Время в течении которого кэшь действует, регулируется в файле config.php строкой define('DB_CACHED_EXPIRE', 120); С точки зрения быстродействия выгодность его применения очевидна. На той конфигурации, на которой я тестировал, использование кэширования SQL запросо (совместно с кэшем в memcached) увеличивал частоту запросов при тестировании примерно с 15-18 до 28-30 запросов в секунду. При использовании файлового кэша выигрыш возможен при большой БД товаров. При его использовании следует учитывать следующее: - пока в админке нет модуля который может сбрасывать этот кэшь (есть в планах); - крайне не рекомендую его использовать в админской части - он предназначен не для этого; - если используется кэширование, изменение настроек из админки иногда могут стать видны юзерам чуть позже когда кэшь обновится. Поэтому я не рекомендую использовать большие значения для времени актуальности данного кэша. Конкретные значения можно подбирать опытным путем. Возможно, что в процессе использования могут обнаружится какие-то подводные камни. Но я при тестировании их пока не обнаружил. В любом случае при возникновении проблем можно быстро переключится на драйвер mysql без кэширования. Хочу отметить, что, когда я столкнулся с высокой нагрузкой на предыдущих своих проектах (до 5 млн кликов в сутки), кэширование с использованием memcached меня сильно выручило.
    1 point
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.