Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

esculapra

Пользователи
  
  • Публикаций

    1 775
  • Зарегистрирован

  • Посещение

Все публикации пользователя esculapra

  1. esculapra

    Ошибка

    Строка 1243 foreach ($xml as $xml) $xml - массив, поєтому сделай типа foreach ($xml as $xml_el) и дальше в цикле работай с $xml_el
  2. У меня недавно случилась такая проблема. Хостингер перенес мои сайты на другой сервер и установил по дефалту пхп 7.3.11 - все домены и поддомены стали выдавать интерналку 500. Основной домен (после запроса в поддержку) заработал - там вернули 7.2 (этот сайт самописный и без каверзных ошибок). Но паркованный домен и поддомены так и не заработали. Сегодня стал разбираться. Не стану углубляться в решение проблем помимо опенкарт. Итак, стоит опенкарт 2.0.3.1. Немного поэкспериментировал и изменил .htaccess # SEO URL Settings RewriteEngine On # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ RewriteBase / RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L] RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L] RewriteRule ^system/download/(.*) /index.php?route=error/not_found [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] Глобально не разбирался, но сайт заработал. Возможно вся шняга скрывается тут Options +FollowSymlinks # Prevent Directoy listing Options -Indexes # Prevent Direct Access to files <FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))"> Order deny,allow Deny from all </FilesMatch>
  3. esculapra

    Ошибка

    Или просто сравни родной файл и свежий в строках 1246 - 1248
  4. esculapra

    Ошибка

    Замени указанный файл на родной из дистрибутива. Некоторые разработчики иногда не предупреждают, что будет замена системных файлов - это плохо.
  5. esculapra

    Ошибка

    Вот тут ищи. (на морде сайта). Я не могу видеть код, но предполагаю, что там идет получение параметра эскиза (thumb). Попробуй его закомментировать //
  6. у меня в изначалке был предусмотрен выбор (html, mhtml, asp. php и т.п.)
  7. Мой мод вернет ориджинал, но могу подключить транслит, а зачем? В аджминке все легко - там транслит уже все делает - остается только зафиксировать. не указанный алиас отображается красным.
  8. проверяется алиас по product_idт - остальное на севести хозяина.
  9. А мой сделает, даже если этот мод не схавает.
  10. Да, ты прав, но не уловил саму идею Я беру массив ссылок на этапе респонсера регуляркой $regexp='/(index.php\?route){1}(;|\s|\w|\d|=|\'|\/|\.|-|&|_|\?)++(")/sUi'; Потом удаляю дубли $matches[0] = array_unique($matches[0]); и делаю реврайт. В результе я переделываю все ссылки, что не получается при использовании стандарта.
  11. Тогда лучше на ocStore (тройка опенкарты - "черепашка" - на локалке тестировал, и не понравилась).
  12. А это необходимо, так как я разработчик и знаю, что получу шнягу, типа product_id=20".
  13. Критика нужна, но если конструктивная. Спасибо. Еще пару штрихов, и пускаю в продажу, а там посмотрим. Но заверяю, шо всем покупателям гарантирую долгосрочную поддержку, а также бесплатные обновления (это неизбежно, ибо я постоянно думаю как оптимизировать код, улучшить интерфейс и пр.), даже если стоимость товара будет повышаться. Кроме того, сейчас переделаю систему антихакера (рабочая, но есть замечания от модераторов) - это уже pack #2. Ну и антивирус (как без него? - пока на этапе разработки) - pack #3.
  14. Это комплект. На скринах интерфейс ЧПУ и и профайлера (добавил функцию просмотра всех запросов к БД - только пока не вывел сами запросы, но они уже зафиксированы). В ЧПУ красным отображены те, шо не имеют урл-алиаса, но они уже транслитерированы из названия (на тестах я только инглиш пока).
  15. Ну так ищи. Походу там должно быть, типа public function getItems($data=array()) { $sql="SELECT * FROM `".DB_PREFIX."profiler`"; if(isset($data['start'])|| isset($data['limit'])) { if($data['start'] < 0) { $data['start']=0; } if($data['limit'] < 1) { $data['limit']=20; } $sql.=" LIMIT ".(int)$data['start'].",".(int)$data['limit']; } $query=$this->db->query($sql); if($result=$query->rows) { return $query->rows; } return false; }
  16. Вы можете смеяться, но у меня есть еще мысли, как осуществить все операции (ЧПУ) в одном цикле (непосредственно в response) - это сократит кол-во итераций до 1 (вместо всех подключаемых view).
  17. И теперь сравните с сео_про (в моем модуле ссылки выбираются регуляркой и поступают на обработку в виде index.php/?route=бла-бла-бла), а потом обрабатываются. Если это продукт, то идет запрос в БД, иначе осуществляется поиск в массиве, создаваемом при инициализации. public function rewrite($link) { $l=str_replace('&amp;', '&', $link); $l=str_replace('"', '', $l); $l=str_replace('index.php?', '', $l); $data=array(); parse_str($l, $data); $url=''; foreach($data as $key=>$value) { switch($key) { case 'route': if(isset($this->settings[$value])) $url.=$this->settings[$value].'/'; else { $url=''; } unset($data['route']); break ; case 'path': $array_categories=explode('_', $value); foreach($array_categories as $category_id) { if(isset($this->settings["category_id=".$category_id])) $url.=$this->settings["category_id=".$category_id].'/'; else $url=''; } unset($data['path']); break ; case 'product_id': $query=$this->db->query("SELECT * FROM `".DB_PREFIX."url_alias` WHERE `query`='".$this->db->escape('product_id='.(int)$value)."'"); if($query->num_rows && $query->row['keyword']) $url.=$query->row['keyword']; unset($data['product_id']); break ; case 'manufacturer_id': case 'information_id': if(isset($this->settings[$key.'='.$value])) $url.=$this->settings[$key.'='.$value]; else { $url=''; } unset($data[$key]); break ; } } if($url) { $query=''; if($data) { foreach($data as $key=>$value) { $query.='&'.rawurlencode((string)$key).'='.rawurlencode((string)$value); } if($query) { $query='?'.str_replace('&', '&amp;', trim($query, '&')); } } return $this->lang.$url.$query.$this->ext.'"'; } else { return $link; } }
  18. У меня тоже. Короче, давайте говорить предметно. Я сейчас тестирую под Опенкарт 2. У тебя есть контроллер seo_pro (неохота качать, ибо поредполагаю, шо там)? Покажи тут код, и я объясню отличия.
  19. Если переменная не указана, то склейка (конкатенация) невозможна! Просто в самом начале функции укажите переменную $sql =""; и все.
  20. Реально да! окей. я дам тебе для тестирования (как есть - может подскажешь еще что-нить) - полагаюсь на порядочность.
  21. Этот установлен на ocStore. Но при всех ++, он работает стандартно, то есть каждую ссылку запрашивает из БД. У Joomido нестандартный подход - я выбиряю ссылки регуляркой на этапе view,, и только product - остальные (категории, производители, инфо) у меня уже есть одним запросом и лежат в массиве. Хочу отметить, что стандартный (не про, да и про) не хавает ссылки в слайдере, а мой все хавает. Насчет кол-ва запросов к БД. На хостинге (у меня) ДБ располодена да другом сервере, поэтому уменьшение кол-ва запросов дает реальную экономию времени.
  22. Конкатенация не может быть осуществлена, если переменная не объявлена. Объявите в самом начале И но проблем.
  23. Так уже почти готово, просто интерес в плане профайлера, впрочем, это не критично, так как не все пользователи - разработчики.
  24. Joomido Sef работает не так, поэтому достигнуто уменьшение запросов к БД (скрин снят на локалке - в реале это даст большую экономию времени) Это мой бренд - как-то так (просто когда снимал скрин, еще не внес перевод, там в text_entry_labe [метка] указываю метку, чтобы после увидеть, что нвжно). сейчас уже добавил вариант просмотра всего профайла (при клике по кнопке добавляется весть проход, включая запросы).
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.