Просто решение нехорошее в целом: сначала сделали а хреф=... в кнопке, несмотря на то что все равно ajax. А потом, 303.
"Правильно", это в контексте, что такое техническое решение допустимо. А с точки зрения ПС, наверное, не очень хорошо в отдельных случаях. Если страниц на сайте мало, то имхо, без разницы, переиндексация таких страниц не проблема, а если иначе, то обход левых страниц может сказаться негативно для скорости обхода нормальных страниц.
Я бы сделал так:
- запрет в роботс таких сраниц;
- а хреф=# дата-хреф=...
- в ява-скрипте, который обрабатывает "клик" этого элемента соотв. урл брать из дата-хреф=...
Правильно говорят.
Это говорит для урлы, которая видна в листинге на кнопке купить:
/cart/add?category_id=8&product_id=14
надо смотреть другое:
[0] => HTTP/1.1 303 See Other [Location] => /shipping/1st-for-dog/1st-choice-fest-chojs-adult-mini-and-small-breed-vzroslye-sobaki-mini-i-malykh-porod
Тут, вероятно, зависит от схемы удобной хозяину магазина☝
Одна из последних работ. Клиент (категорически): все, что касается товаров, правится в 1С. В админке сайта вообще не надо никаких манипуляций с товарами. Нефиг менеджеров учить одновременно 1С (без этого у него никак) и управлению сайтом. При этом, хочет несколько наборов картинок (основная группа, характеристики/схемы, фото установки, фото обслуживания и т.д), несколько наборов текстовых описаний, характерности и еще кучу полей в карточке/листинге. Что касается сайта, то легко удалось достаточно гибко все сделать.
В админке, на странице настроек поле с описанием правил. Чтот типа:
text : КоммерческаяИнформация/Каталог/Товары/Товар/Описание
analog : КоммерческаяИнформация/Каталог/Товары/Товар/Аналоги/ИдДляСайта
В импорт.ихэмэль <Картинка>31c0dc8f-2728-11e3-9f5c-001bfcb40055.JPG#shema</Картинка>
а дальше текстовый блок {text}, массив {analog} и набор картинок с тумбами {shema} доступны для вставки в шаблон карточки/листинга, которые правится там же в админке.
Только заказчику пару-тройку команд 1С-ков по дороге пришлось сменить и все очень долго было :(
А я о чем?
As is за такие деньги. Мозг представляется для выноса за 1000р/ч. Но, не настаиваю, а лишь предполагаю, что такая идея имеет право на жизнь :)
Справедливо
И это справедливо. Но для процитированных операций не обязательно. А так да - лучше.
Тем не менее, зачастую это так. И поменять такой порядок вещей не в силах разработчика :(
Судя по всему он есть и немалый - рынок бюджетных магазинов а-ля "залил эксель с каталогом, залил зип с картинками" и вот он магазин. Рублей за 15-20. Заявка на емайл, yml, commerceml. А дальше - или поиграются и бросят, или потратят еще немного много денег 😂
Не, не слышал интегрировал. Ну, чтоб регулярно. Сайт же не 1С😂 1 раз интегрирован (слово умное, понравилось:) ) и хорош интегрировать.
А без шуток - херовый магазин, если для
опять прогера нанимать надо (кроме зачеркнутого, но и там, в большинстве случаев, можно сделать так, что цели удается расставить менеджеру без знаний не то, что js, но и хтмл, а дизайн меняется кошерными дезигнерами только правкой цсс и файла шаблона).
А зачем прог для
магазин, магазин открывай свою дверь, я ужасно устал от безумных идей (с) кто то, но про ресторан, а не магазин.
На серче много есть тех, кто познал истину в производстве магазинов😂 Любой топик, где ТС упомянет магазин, сразу обрастает ответами - "не не так", "битрикс", вот так, фреймворк, опенкарт, "поищи плагин к вордпресу" и тд и тп. А может, серч сможет родить серч-оптимизированный вариант магазина☝
Опен сорс. Грамотно и с учетом базовых потребностей соотнесенных с реалиями. Чтобы уже ни у кого вопросов не осталось? Это было бы и конструктивно и полезно.
Такой план как?
$conf['pages']=[ 'search'=>['searchclass.php','sanitize_req'=>'q'], 'admin'=>['adminclass.php','user'=>'logined','userrole'=>'admin'], 'user'=>['usrclass.php','user'=>'logined','userrole'=>'all'] ] ....... $sections = explode('/', trim($url,'/')); $class = (!empty($sections[0])) ? (isset($conf['pages'][$sections[0]]) && !empty($conf['pages'][$sections[0]][0])) ? $conf['pages'][$sections[0]][0] : 'dbrouter' ) : 'indexclass' $page = new $class($conf);
Суть в том, что если есть 1 сегмент урл - обработчик в зависимости от наличия в $conf['pages'] правил для него, а если он не описан в $conf['pages'], то обработчик таблицы базы данных с правилами для урлов. Иначе (/) - indexclass.
Будет полезно:
autoload
В Бадене или в алгоритме? Я в Минусинске обычно ул. Ленина ищу.
Кстати, как теперь? С большой буквы баден правильно писать или уже нет 😂
А по теме, кстати, много ответов дает этот запрос.