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

nogocuHoBuk

Users
  • Posts

    356
  • Joined

  • Last visited

Everything posted by nogocuHoBuk

  1. Ребят. Вы тут начали спор про "профессионализм" и "конкуренцию", но вопрос то не в этом. Есть буква закона - по умолчанию для пользователей Украины должна загружаться укр.версия сайта. Никаких влево-вправо. Показ плашки типа: "Вы БУДЕТЕ переадресованы на укр версию. Нажмите для перехода или останьтесь на ру версии" - не выход. Да, плашка/попап может подгружаться аяксом и гуглбот её даже не увидит и в этом плане для гугла всё в огнях, но мы ж не о гугле говорим, а о неком "проверяющем", который отметит, что при переходе по ссылке site.com.ua/ru-catalog/ по-умолчанию загрузилась именно РУ версия. Тут именно технический момент (вполне реализуемый редиректами), который не стыкуется с финансовыми потерями (редиректы - боль,). И то, что многие считают за решение - мол, ну вот же, плашка всплыла, ща будет укр версия, в реальности ею (укр версией) не является. Потому вариант один - ждать судебных тяжб (а они, уверен, будут) И внесения изменений в законопроект со словами навроде: "По умолчанию для пользователей из Украины должен быть предложен вариант перехода на УКР версию сайта" вместо текущего вида.
  2. Ну в законе, опять же, есть и про штрафы, порядок их начисления и суммы. Лично я считаю, что я готов заплатить как 3к так и 6к гривен, но при этом не потерять в поисковой выдаче. Пока я вижу вот такое (за последние сутки - скрин ниже) - я готов раскошелится. Причем из 123 запросов только 10 українською. Но сделать редирект на укр.версию для посетителя без сессии (в том числе и для робота гугла, на сколько я понимаю) - лишиться даже этой выдачи - я не готов.
  3. Вставлю свои 5 копеек, скажем так ИМХО. Есть закон. В в статье 27 этого закона в пункте 6 есть точная формулировка. Приведу её полностью: Конкретно всех нас интересует только вот это: И нет ни слова про "при переходе из поисковой выдачи". Трактовать можно двояко, это понятно. Чем, собственно, и занялись все СМИ, в том числе и вот такие "опанасы": И его не смутил тот факт, что из ФБ он перешел по русскоязычной линке и попал на русскоязычную статью. Так вот к чему я это. Пункт из статьи закона про "версию по умолчанию" имеет право на жизнь ТОЛЬКО для главной страницы сайта. Ибо любой переход по ссылке (не важно какой, поисковой, рекламной, расшаренной в соцсетях) - подразумевает, переход на ту версию сайта, на котором он эту страницу нашел. Пример с той же розеткой: Всё остальное можно оспорить. Ну или попытаться. Ну или пока оставить как на розетке (у меня так же), и наблюдать за интернетом до первых штрафов. Думаю тогда появятся более точные инструкции комментарии как юристов так и специалистов.
  4. Ну тот факт, что "на том сайте" продаются авторские модули (та же симпла и фильтрерит, а так же шаблоны с темфореста (от РАЗНЫХ авторов) - есть повод задуматься. Лично я не знаю как относиться к таким "магазинам", даже если у его владельца есть договоренности с авторами вышеупомянутых шаблонов/модулей. На варез.рип сайт как варезный не числится, но... А оно нужно? Вот Вы зашли на сайт и у Вас действительно возникло желание купить? Там же даже не на коленке всё сделано...
  5. Вы имеете ввиду не добавил в корзину, а оформил заказ? А, ну тогда: Тут то сложностей нет. Вы вроде и сообщение первое своё не редактировали Не знаю почему я прочитал, что именно при добавлении в корзину удалять у остальных
  6. Уже понял, что изначально неправильно прочитал (понял) задачу. Всё что ниже - просто для истории. Вы понимаете, что именно в этом противоречие Ваших "желаний"? Давайте на реальной ситуации. Пользователь1 добавил товар в корзину. Спустя минуту Пользователь2 добавляет ЭТОТ же товар в корзину - автоматом у первого пользователя товар из корзины улетает. А спустя ещё минуту Пользователь3 добавляет товар в корзину - теперь он удаляется у пользователя2. А теперь казино. Все пользователи (не понимая что происходит) начинают добавлять товар в корзину, но он тут -же пропадает, так как то же самое делают остальные. Вот тут конверсия, конечно, взлетит в небеса Единственный вариант избежать этого - после добавления товара в корзину НЕ ДАТЬ другим пользователям этот товар добавлять. Т.е. РЕЗЕРИВРОВАТЬ товар. И да, как писал @chukcha - резервировать не обязательно. Ну т.е. обнулять остаток на складе не обязательно. Важно просто показівать уведомления пользователям, что товар находится в корзине у другого покупателя. Мол "подождите, вдруг он передумает". Но неужели Вы считаете, что это обрадует покупателя? Он Сделал ВСЁ, что от него зависело - перешел по ссылке к Вам в магазин. Увидел товар, принял цену, нажал купить, а ему в лицо- "нене. Пагодь. Там главнее покупатели есть." Что первый случай, что второй - не очень здоровское решение. Правильней - именно обнулять остатки. Т.е. именно резервирование. Во всех остальных случаях о "конверсии" можете вообще забыть", так как не факт, что первый добавивший товар в корзину таки купит его. И совсем не факт, что если у покупателей будут из корзины самопроизвольно удаляться товары - это их не выбесит. Там ещё несколько подводных камней есть, но этот самый главный.
  7. Тут вопрос даже не в аля, а в полноценном резервировании. Так как даже если сделать так, как я описал выше (не обнуляя количество на складе при добавлении в корзину), то каждый следующий покупатель добавляя товар в корзину будет обнулять её у другого покупателя. Потому да, нужно полноценное резервирование. И отсюда вопрос к ТСу - а оно того стоит? Вот узнает "конкурент" про эту Вашу "фичу" и будет сидеть и кликать по товарам, добавляя их в корзину себе, чтобы у других не было возможности купить товар Ну и да, не совсем понятно каким образом Вы теряете конверсию. "Вам шашечки, или ехать?"(С) Ограничив добавление товара в корзину вы ТОЧНО потеряете клиента, который не будет понимать что именно происходит с его корзиной Он добавляет товар, шарится по сайту в поиске второго товара, а у него первый товар пропадает из корзины по непонятным ему причинам. И снова да, в саой корзине ж реализован функционал проверки на количество при оформлении заказа. Пусть человек добавляет себе хоть 100 в корзину - ему выдаст: Ну и на сколько я вижу Вы в симпле вообще вырезали функционал "Подсветки" недостающих товаров (***). Потому в большой корзине это не наглядно: Не понятно какого именно товара нет в нужном количестве.
  8. У Вас опенкарт со сторонним SEO_PRO, SEO_URL или ocStroe со встроеннным SEO_PRO? И какая версия (точная)?
  9. Так по дефолту в сайтмапе ссыилки генерируются стандартным $this->url->link, т.е. согласно основным правилам формирования, так как формирование происходит в цикле роутов. И, по идее, ссылки должны быть один в один такими же, как и при генерации линков на сайте. Возможно у Вас либо СЕО_ПРО , который формирует роуты для url, либо сам url, либо генератор сайтмапа модифицированы.
  10. 1. В /system/library/cart/cart.php нужно внести ряд правок, которые при add и update будут проверять не существует ли жобавляемый товар в корзине. Если не существует - добавлять, если существует - continue без внесения изменения количества. 2. Добавлением в addOrderHistory запроса в БД к oc_cart что-то типа "DELETE FROM oc_cart where product_id = ИД_Оформляемого_товара" 3. Этого мало. Попробуйте кликнуть "купить" несколько раз как в карточке товара, так и на главной, в категории, поиске и на всех остальных страницах, где выводятся товары. Но при внесении изменений из пунктов 1 и 2 всё будет работать. Важно понимать, что это "необратимое" действие и подобный принцип будет работать ДЛЯ ВСЕХ товаров и всегда. Правильным решением было б добавление в редактирование товара в админке галочки "единичный товар", после проставления которой именно к таком товару применять установленные выше правила, а во всех остальных случаях работать по основному принципу. ВОзможно есть ещё подводные камни. Нужно тестировать. Это поверхностно.
  11. Вы бы хоть пример привели, мол вот оригинальная картинка, а вот она же на сайте после "ухудшения качества изображения". По идее при качественном оригинале и изменении размера до размера блока, в котором оно отображается - глазами разницу увидеть невозможно. Но если Вы фуллашдишную картинку жмёте до 480x270, а потом показываете эту картинку в блоке 960х540 то будут явные артефакты.
  12. А я уж думал, что @markimax меня проигнорировал Не стал "тошнить" и писать повтороно. @Moderator. Вижу в теме несколько дублей сообщений от разных пользователей. Только что пытался ответить в теме и сообщение попыталось "продублироваться". Отправилось 1 раз, и, видимо, была попытка отправиться повторно. Причем поле ответа не очистилось.
  13. Ну и раз пошла такая пьянка то в методе generateFields() вместо $product['name'] вставить $product['ean'] (ну или что Вы там использовать будете): Только предварительно нужно будет его получить, вызвав getProduct() из model->catalog->product, так как в таблице заказов поля ean и прочие не хранятся.
  14. Только, предварительно, изменить длину varchar c 13 до 255 (как для названия) А то будет странно увидеть вместо полного названия его огрызок
  15. Модуль ждёт json, а ему возвращается html страница, которую он, естественно, не может разджейсонить А причина, мне кажется, тут: Т.е. модуль ексченьджа тыкается к контроллеру, к которому у Вас нет доступа, и отдает в качестве "ответа" страницу авторизации Перейдите в настройки пользователей и проверьте доступы. И включить всё Думаю, проблема в этом. Если не поможет, то вероятно модуль ексченьджа генерит неправильную ссылку, что тоже выдаст "доступ запрещен". Тогда пишите разработчику модуля.
  16. в скрипт добавления в корзину добавить в саксесс window.location.href = "/index.php?route=checkout/checkout"; ну или ЧПУ window.location.href = "/checkout/"; В зависимости от того где у Вас корзина. Но это не очень продуктивное решение. Если человек хочет купить 2 товара ему после каждого "купить" назад в каталог возвращаться? А если у товара есть опции (тем более обязательные)? В общем сделать то не сложно, непонятно зачем :)
  17. Кстати да, об этом варианте я даже не подумал, ведь не важно что будет происходить - перенаправление или аякс на страницу отправки почты - в любом случае реализация через js/jQuery, где отправляемый параметр можно получить непосредственно на странице. Ну кроме некоторых попапов (подгружаемых), естественно, ибо они вернут свой адрес. В общем @DarkEinstein , Вам бы задачу полностью лзвучить, чтоб загадки не разгадывать
  18. Зачем Вам тема? Пример. У Вас есть труселя в количестве 30 штук. Причем 15 - черные 10 - розовые 5 - белые Можно под каждый цвет завести отдельные карточки, но можно реализовать опциями (стандартный инструмент опенкарта) Создать одну карточку на труселя, прикрепить фотки всех 3-х цветов и прикрутить 3 опции для разных цветов указав для каждой опции количество А теперь следите за руками. Вместо цвета можно указать 3 склада. Т.е. те же труселя - 30 штук Опция - склад склад1 - 15 штук склад2 - 10 штук склад3 - 5 штук. Там есть свои ограничения, но пока не будем углубляться
  19. То, что Вы так агрессивно отвечаете, конечно здорово. Но ткните меня носом в том место, где Вы написали, что в карточке товара? Ниже скрин Вашего сообщения: Всё, что вижу я - что Вы хотите делиться страницей товара. А товары могут быть в поиске, в каталоге, в "скидках", в рекомендуемых, на главной в разного рода блоках и т.д. и т.п. Опять же. Даже если непосредственно в карточке - в каком месте? В хедере, в футере, рядом с кнопкой "купить"? Где? Многие шаблоны генерят html из нескольких twig файлов. Т.е. для той же карточки товара (помимо футера и хедера), может быть отдельный твиг для слайдера, отдельный для блока кнопок, отдельный для характеристик и описания. Да там даже для карточки в дефолте используется 6 контроллеров, каждый из которых тянет свои твиги: Потому я и написал: Вы так и не ответили на этот вопрос. Но зато уже жельчи в рот набрали Хорошо, что хоть не брызгали. Ещё раз ГДЕ ИМЕННО Вы хотите поместить кнопку? Давайте на простом примере на дефолтном шаблоне. Например под кнопкой "купить" Для этого в /catalog/controller/product/product.php перед $this->response->setOutput($this->load->view('product/product', $data)); нужно поместить код: $data['url_for_shared'] = $this->url->link('product/product', $url . '&product_id=' . $product_id); Вот теперь Вы передаете в /catalog/view/theme/тема/template/product/product.twig значение переменной url_for_shared Ну и осталось только вкорячить Ваш код (на примере Выше) <button class="mail" onClick='window.open("https://connect.mail.ru/share?url={{ url_for_shared }}","sharer","status=0,toolbar=0,width=650,height=500");' title="Поделиться по E-mail"> </button> Скрипт, ясен пень, любой. Вам же главное было ссылку получить? ЗЫ. Не кидайтесь на людей, оно того не стоит
  20. Реализация подобного функционала в админке (завести склады не отменяя поля "количество", для ведения в нём суммы остатков на складах, ведение учета по каждому складу, показ общего количества и прочее - не слишком геморойная. Пару таблиц, контроллер, евент на суммирование и вычитание - готово. Сложности начинаются на уровне фронта. У каждого шаблона (практически) своя страница оформления заказа. Предусмотреть реализацию для каждого шаблона невозможно. Т.е. человек купил модуль - а его нужно допиливать. Потому подобные решение, скорее всего, не продают готовым решением. Только индивидуальная разработка, за ДРУГИЕ деньги. Может в этом причина?
  21. При таком количестве заказов нужно вести складской учет в специализированном ПО, коим опенкарт точно не является. Например в 1С. Настроить выгрузку заказов из oc в 1С, а в обратку пушить остатки товаров по складам. Без "екселей" и, тем более, "вручную". Так что мультисклад + импорт остатков +экспорт заказов - ваш выбор. Да там первый - это вообще ДНС. Второй да, на опенкарте, но, думаю, складской учет в сторонем ПО Третий, скорее всего, самопис.
  22. Зависит от того, где именно Вы будете размещать кнопку. В хедере, футере, в карточке или в списке товаров? Это нужно для понимания где (в каком контроллере) формировать ссылку на текущую страницу . Может он сайт разоблачения фейков делает С возможностью шарить новости.... Но тогда почему опенкарт? Но меня тоже смутило в "одной строке" это:
  23. Всё, вопрос снят Передалал слегка 1. /system/library/seopro.php в public function baseRewrite перед $language_id = (int)$this->config->get('config_language_id'); вставил проверку if (!$language_id) а в вызовы $this->getKeywordByQuery добавил язык: т.е. вместо $keyword = $this->getKeywordByQuery($query); $keyword = $this->getKeywordByQuery($query,$language_id); ну и вместо $keyword = $this->getKeywordByQuery($route); $keyword = $this->getKeywordByQuery($route,$language_id); 2. В /catalog/controller/startup/seo_url.php В public function rewrite($link) { добавил необязательный параметр $language_id Ну и сразу проверку, передается или нет: public function rewrite($link, $language_id = null) { if (!$language_id) { $language_id = (int)$this->config->get('config_language_id'); } И всё в rewrite() где встречается (int)$this->config->get('config_language_id') заменил на $language_id 3. Ну и в /system/library/url.php добавил четвертым параметро $language_id public function link($route, $args = '', $secure = false,$language_id = null) { а в формировании линка заменил foreach ($this->rewrite as $rewrite) { $url = $rewrite->rewrite($url); } на foreach ($this->rewrite as $rewrite) { if ($language_id) { $url = $rewrite->rewrite($url,$language_id); } else { $url = $rewrite->rewrite($url); } } Собственно всё. Теперь в коде могу писать так: Ну и на выходе сразу сгенерированная ссылка на нужном языке: Непонятно только кто и зачем ВЫРЕЗАЛ эту возможность, так как судя по коду (те же getKeywordByQuery() и getQueryByKeyword() ожидают $language_id) эта фича в принципе была реализована, либо просто не допилена. Но вопрос этот, конечно, не к автору модуля. Ему огроменное спасибо за работу.
  24. неоднократно встречал в разных шаблонах свой собственный "add" в корзину. Там же суть просто "аякснуть" на index.php?route=checkout/cart/add Делают для того, чтобы не вносить правки в в стандартный common.js Копайте в этом направлении.
  25. в контроллере /catalog/controller/common/header.php перед строчкой return $this->load->view('common/header', $data); добавляете: $data['is_home'] = false; if (!isset($this->request->get['route']) || $this->request->get['route'] == 'common/home') $data['is_home'] = true; Ну а уже после этого в твиге хедера вставляете своё условие {% if is_home %} // Это главная {% else %} // Это НЕ главная {% endif %} Как-то так. ЗЫ. После внесения правок обновите модификаторы. ЗЗЫ. Перед внесением изменений сохраните копии указанных выше файлов, так как, учитывая отсутствие опыта, могут возникнуть проблемы, если что-то где-то не туда вставите
×
×
  • 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.