cityFields. Города, информация и цены для каждого
Представляю вам небольшой полезный компонент под названием cityFields. На данный момент его возможности скромны:
Для вывода списка городов с возможностью переключаться между ними достаточно просто вызвать сниппет:
Во-первых, по умолчанию включена запись полей в плейсхолдеры, которые имеют префикс. И для вывода информации достаточно добавить в ваши чанки или шаблоны необходимый плейсходер, но главное — вызвать его не кешируемым. Например, так:
Во-вторых, плейсхолдеры записываются при загрузке страницы, что может тормозить систему в некоторых случаях. Поэтому я добавил возможность отключить запись полей в плейсхолдеры. В этом случае для вывода информации для каждого города нужно вызвать сниппет cfField с нужным ключом:
После того, как вы добавите цену для города, и обновите кеш, вы увидите новую цену, а рядом с ней старую, если вывод старых цен у вас настроен. Дополнительно ничего настраивать и выводить не нужно.
Документация к дополнению готовится. Само дополнение уже доступно в магазине modStore.pro и купить его можно всего за 390 рублей.
- Добавление списка городов.
- Добавление уникальной информации для каждого города.
- Управление ценами товаров miniShop2 для каждого города.
Список городов и управление им
У компонента имеется страница, на которой вы можете управлять списком городов, добавлять, изменять и удалять их, а также включать и отключать города.Для вывода списка городов с возможностью переключаться между ними достаточно просто вызвать сниппет:
[[!cfCities]]
Уникальная информация для каждого города
На той же странице находится вкладка «Данные» для управления информацией для каждого города. Для вывода уникальной информации в компоненте используются несколько методов.Во-первых, по умолчанию включена запись полей в плейсхолдеры, которые имеют префикс. И для вывода информации достаточно добавить в ваши чанки или шаблоны необходимый плейсходер, но главное — вызвать его не кешируемым. Например, так:
[[!+cf.phone]]
Во-вторых, плейсхолдеры записываются при загрузке страницы, что может тормозить систему в некоторых случаях. Поэтому я добавил возможность отключить запись полей в плейсхолдеры. В этом случае для вывода информации для каждого города нужно вызвать сниппет cfField с нужным ключом:
[[!cfField ?&key=`phone`]]
Управление ценами товаров
Для управления ценами на странице редактирования товара добавляется новая вкладка «Город — Цена». В ней вы найдете таблицу, где сможете указывать цену товара в зависимости от города. Если для какого-то города цена не указана, то будет браться его цена по умолчанию.После того, как вы добавите цену для города, и обновите кеш, вы увидите новую цену, а рядом с ней старую, если вывод старых цен у вас настроен. Дополнительно ничего настраивать и выводить не нужно.
Документация к дополнению готовится. Само дополнение уже доступно в магазине modStore.pro и купить его можно всего за 390 рублей.
Поблагодарить автора
Отправить деньги
Комментарии: 92
Доброго дня!
Добавление списка городов— с геолокацией или нет?
Пока нет. В ближайшее время появится определение города по ip.
Мне кажется, что в компоненте GeoLocation уже есть заявленные вами функции. Вы их сравнивали?
Сравните, интересно. Ваш опробовать на тестовом сайте в modhost.pro можно? (не увидел возможности добавить его к тестированию).
Сравните, интересно. Ваш опробовать на тестовом сайте в modhost.pro можно? (не увидел возможности добавить его к тестированию).
Почитал о GeoLocation, да вроде оно. Ждём ответа автора. Может мы что-то упускаем…
Когда делал и выкладывал компонент, не знал, что существует подобный. Но есть отличия наших компонентов:
1. В моём можно добавлять любые данные, а не только какие-то определённые.
2. В моём можно изменять цены товаров для различных городов.
3. Планируется сделать определение выбранного города и работу компонента по ссылкам и доменам. То есть, при переходе по ссылке moscow.site.ru или site.ru/moscow/ будет выбран город Москва и выводится данные, добавленные для этого города.
Я не знаю как сделать так, чтобы на тестовом сервере можно было устанавливать мои компоненты.
1. В моём можно добавлять любые данные, а не только какие-то определённые.
2. В моём можно изменять цены товаров для различных городов.
3. Планируется сделать определение выбранного города и работу компонента по ссылкам и доменам. То есть, при переходе по ссылке moscow.site.ru или site.ru/moscow/ будет выбран город Москва и выводится данные, добавленные для этого города.
Я не знаю как сделать так, чтобы на тестовом сервере можно было устанавливать мои компоненты.
Планируется сделать определение выбранного города и работу компонента по ссылкам и доменам. То есть, при переходе по ссылке moscow.site.ru или site.ru/moscow/ будет выбран город Москва и выводится данные, добавленные для этого города.Правильно ли я понимаю, что это позволит по сути сделать мультисайт. Поддоменов будет несколько к примеру, но всё будет лежать на основном сайте с настроенными данными по городам?
Да. Естественно, без дополнительной настройки сервера и самого сайта не обойдётся.
когда планируете сделать «определение выбранного города и работу компонента по ссылкам и доменам»?
Тоже интересуюсь этим вопросом
Сергей, а как можно вшиться в процесс определения города? Я хотел бы прикрутить геолокацию по яндекс картам(API), а потом использовать в коде текущий ID города где необходимо.
О процессе определения в описании ни слова, так же ни слова об этом нигде:
PS
GeoLocation в проекте не совсем подходит да и геолокация в рамках только активных списков городов — бред(
О процессе определения в описании ни слова, так же ни слова об этом нигде:
Планируется сделать определение выбранного города и работу компонента по ссылкам и доменам. То есть, при переходе по ссылке moscow.site.ru или site.ru/moscow/ будет выбран город Москва и выводится данные, добавленные для этого города.Купил плагин, прикрутил — всё отлично работает… Связал с магазинами через MIGX — короче плагин то что нужно! но с учетом того, что он платный, хотелось бы более «полированного» плагина) К примеру не хватает группировки по городам в Данных, более удобной фильтрации.
PS
GeoLocation в проекте не совсем подходит да и геолокация в рамках только активных списков городов — бред(
На текущем этапе вы можете нельзя внедряться в процесс определения города. Но я подумаю как можно решить этот вопрос. Прикручивать свои сервисы для определения города было бы совсем неплохо.
К примеру не хватает группировки по городам в Данных, более удобной фильтрации.Об этом я совсем не подумал. Спасибо за совет, реализую этот функционал в ближайшем обновлении.
Сергей, спасибо!
На данный момент у меня реализован странный функционал на сайте)
Процесс определения города происходит благодаря cityFields, но при подгрузке яндекс API, происходит его замена со всеми необходимыми данными. Если пользователь нажал «Да это мой город» — все гео данные яндекса сохраняются в сессию(кстати не помешало бы из базы SxGeo получать все данные которые возможно определить). Если же пользователь нажимает «Другой город» — то открываем модальное окно со строчкой для поиска города и списком городов CityFields, к строчке привязан kladr API и при выборе города подтягивается еще больше гео данных о местоположении пользователя. Пример в лс могу кинуть
На данный момент у меня реализован странный функционал на сайте)
Процесс определения города происходит благодаря cityFields, но при подгрузке яндекс API, происходит его замена со всеми необходимыми данными. Если пользователь нажал «Да это мой город» — все гео данные яндекса сохраняются в сессию(кстати не помешало бы из базы SxGeo получать все данные которые возможно определить). Если же пользователь нажимает «Другой город» — то открываем модальное окно со строчкой для поиска города и списком городов CityFields, к строчке привязан kladr API и при выборе города подтягивается еще больше гео данных о местоположении пользователя. Пример в лс могу кинуть
короче если то процесс определения происходит по sxgeo + yandex api + kladr
Добрый день!
Реализует ли данный модуль следующий функционал?
1. Страница контакты должна иметь разный контент в зависимости от города
2. Доставка оформляется только в города присутствия, выбирается из списка, желательно, чтобы активным сразу был пункт текущего города
3. В подвале и шапке будут чанки с контактной информацией, информация должна меняться в зависимости от выбранного города
Также хотелось бы узнать реализован ли функционал о котором писали 20 марта: а конкретно
Реализует ли данный модуль следующий функционал?
1. Страница контакты должна иметь разный контент в зависимости от города
2. Доставка оформляется только в города присутствия, выбирается из списка, желательно, чтобы активным сразу был пункт текущего города
3. В подвале и шапке будут чанки с контактной информацией, информация должна меняться в зависимости от выбранного города
Также хотелось бы узнать реализован ли функционал о котором писали 20 марта: а конкретно
То есть, при переходе по ссылке moscow.site.ru или site.ru/moscow/ будет выбран город Москва и выводится данные, добавленные для этого города.
Добрый день. Да, этот функционал возможно реализовать с помощью моего компонента. Для этого просто добавляйте данные в соответствующей вкладке на странице компонента и выводите её в контенте страницы контактов и в подвале/шапке страниц.
2. Доставка оформляется только в города присутствия, выбирается из списка, желательно, чтобы активным сразу был пункт текущего городаДля этого просто вызовите сниппет cfCities с нужным оформлением и без добавления JS функций. Типа такого:
[[!cfCities? &frontend_js=`` &tplWrapper=`msOrder.city` &tpl=`msOrder.city.row`]]
В чанк msOrder.city вставьте:<select name="city">[[+rows]]</select>
В чанк msOrder.city.row вставьте:<option value="[[+id]]"[[+selected]]>[[+name]]</option>
И сделайте обработку поля city в своём заказе. Чанки подгоняете под свои стили и готово.Также хотелось бы узнать реализован ли функционал о котором писали 20 мартаК сожалению, ещё нет. Сейчас решается вопрос о том, как лучше его реализовать, чтобы со стороны пользователя компонента было меньше мороки и меньше необходимости вносить какие-то свои дополнительные правки, чтобы полностью реализовать решение.
К сожалению, ещё нет. Сейчас решается вопрос о том, как лучше его реализовать, чтобы со стороны пользователя компонента было меньше мороки и меньше необходимости вносить какие-то свои дополнительные правки, чтобы полностью реализовать решение.а это решение позволит для каждого города управлять еще ресурсами? будет реализовано через контексты?
когда я нахожусь к примеру на странице moscow.site.ru в разделе блог, я бы хотел видеть другие записи в блоге, чем люди из Санкт-Петербурга. Если да — то будет отличный компонент на перспективу для реализации мультирегиональности сайта.
Нет, это решение не будет реализовано через контексты. Через контексты и без этого дополнения можно сделать города.
Сергей, Добрый день, скажите, с помощью вашего дополнения можно ли как-то реализовать следующее:
Выводить разные товары для разных городов, не только цену. К примеру в Москве показывать одни товары, в Липецке — другие.
Выводить разные товары для разных городов, не только цену. К примеру в Москве показывать одни товары, в Липецке — другие.
Здравствуйте. Теоретически, возможно. Например, если выставить для города цену 0 или вообще не выставлять цену для города. А при выводе товаров присоединить таблицу с данными компонента cityFields и искать все товары, у которых цена для города есть и выше 0.
День добрый. Необходимо реализовать следующее: в зависимости от города во всех текстах сайта выводить нужный город или регион.
Например выбрал я Москва — и везде тексты у меня про Москву и Московскую область. Выбрал и Тверь — везде все про Тверь. ну и конечно сами контакты менять.
Это можно сделать с помощью данного компонента?
Например выбрал я Москва — и везде тексты у меня про Москву и Московскую область. Выбрал и Тверь — везде все про Тверь. ну и конечно сами контакты менять.
Это можно сделать с помощью данного компонента?
Добрый день. Если я правильно понял ваши задачи, то это можно сделать с помощью данного компонента. Но полностью поменять контент страницы этим компонентом не получится. Он позволяет создавать свои плейсхолдеры, в которые можно записывать нужный вам текст для каждого города, и использовать их на сайте.
Добрый день. А есть ли возможность развернуть тестовый сайт с компонентом, чтобы я смог попробовать подойдет ли он мне полностью для решения моей задачи?
Тестовый сайт с данным компонентом есть, пройдите по этой ссылке. Можно посмотреть как на фронтенде это работает.
Вопрос из области SEO — возможно не по теме, но все же. Если с помощью компонента подменять во всем сайте ему регион или город, будет ли индексироваться страницы в регионах в соответствии с подменными фразами?
То есть для Москвы по Москве, для Санкт-Петербурга по Питеру?
То есть для Москвы по Москве, для Санкт-Петербурга по Питеру?
Это скорее надо использовать поддомены, примерно как тут SEODomains , добавлять в вебмастеры и указывать региональность
Добрый вечер, если позволите небольшое пожелание, предложение — сделать сортировку городов перетаскиванием в таблице или просто поле по которому можно было бы отсортировать
Здравствуйте! Подскажите, пожалуйста — возможен ли импорт/экспорт цен каким-либо способом? К примеру с помощью msImportExport
И еще вопрос: каким образом работает старая цена? Нет ли возможности добавить в карточку товара рядом с ценой старую цену?
И еще вопрос: каким образом работает старая цена? Нет ли возможности добавить в карточку товара рядом с ценой старую цену?
Импорт/экспорт цен каким-либо способом не предусмотрено из коробки.
Старая цена работает так: если для города установлена цена, отличная от цены по умолчанию, то в плейсхолдер old_price запишется цена по умолчанию, а в плейсхолдер price — цена для города.
Старая цена работает так: если для города установлена цена, отличная от цены по умолчанию, то в плейсхолдер old_price запишется цена по умолчанию, а в плейсхолдер price — цена для города.
Добрый день)) Писал разработчику в личку, напишу и сюда, так как важный вопрос: возможна ли интеграция с модулем сравнения Comparison?
Добрый день. Прошу прощения за долгие ответы, но сейчас у меня полная загрузка. Интеграция теоретически возможна, о чём я вам писал, но надо пробовать.
Сергей, может есть способ, чтобы хотя бы текущая цена города попадала в сравнение?)
Добрый день. Очень хотелось бы иметь возможность устанавливать значение цены относительно текущей. Например: плюс/минус %. И еще было бы идеально, если бы компонент имел интеграцию с msOptionPrice
Доброго времени суток, подскажите есть ли возможность у компонента сменить город, но при этом оставаясь на основном домене?
Добрый день. Да, если не включать опцию «Город в домене», домен заменяться никак не будет.
спасибо
Цена меняется в зависимости от выбранного города только в карточке товара, в каталоге — цена не меняется. До обновления версии minishop все работало. Это только у меня такая проблема?
Добрый день. Я посмотрю обязательно в чём проблема. Укажите версию minishop2, пожалуйста.
cityfields 1.1.3-beta
miniShop2 2.4.11-pl
pdoTools 2.9.1-pl
miniShop2 2.4.11-pl
pdoTools 2.9.1-pl
Скажите, а можно как-то вывести название города просто в тексте. Или для этого проще создать плейсхолдер с названием города?
[[!+cf.current_city]]
Благодарю)
Не подскажите, почему конструкция [[!+cf.current_city:caseChanger=`&m=1&p=2`]] выдает 500 ошибку?
Ищите ответ внутри сниппета caseChanger. Попробуйте вывести плейсхолдер без фильтров. Может сниппет ожидает другие входные данные?
Или ищите ответ в логах ошибок php на сервере.
Или ищите ответ в логах ошибок php на сервере.
Подскажите, можно ли как-то сделать свою карту сайта sitemap.xml для городов которые реализованы поддоменами?
Я как-то создавал sitemap.xml для каждого города, но, к сожалению, не помню реализации. Я попробую снова реализовать его на демо-сайте и покажу пример как сделано
На текущий момент сделал так:
[[!pdoSitemap?
&cache=`0`
&scheme=`-1`
&tpl=`@INLINE <url>
<loc>{{!+cf.current_city.url}}{$url != '/' ? $url : ''}</loc>
<lastmod>{{+date}}</lastmod>
<changefreq>{{+update}}</changefreq>
<priority>{{+priority}}</priority>
</url>`
]]
Примеры здесь:demo.focusone.ru/sitemap.xml
surgut.demo.focusone.ru/sitemap.xml
nv.demo.focusone.ru/sitemap.xml
hanty.demo.focusone.ru/sitemap.xml
Отлично, спасибо.
Странно, сейчас проверил на одном сайте, там выхов карты сайта такой:
[[pdoSitemap? scheme=`https`]]и он правильно отображает карту для поддоменов.
Сергей, а подскажите, в этом варианте что такое "&scheme=`-1`"?
Как сделать чтобы все товары.html выпали в карту сайта, а не только каталоги?
Или так карты сайта не делаеют?
Как сделать чтобы все товары.html выпали в карту сайта, а не только каталоги?
Или так карты сайта не делаеют?
Из документации:
В данном варианте все страницы должны попасть в карту сайта, в том числе товары.html.
The scheme indicates in what format the URL is generated.То есть -1 означает, что все ссылки в плейсхолдере [[+url]] будут относительными, то есть, без адреса сайта.
-1: (default value) URL is relative to site_url
0: see http
1: see https
full: URL is absolute, prepended with site_url from config
abs: URL is absolute, prepended with base_url from config
http: URL is absolute, forced to http scheme
https: URL is absolute, forced to https scheme
В данном варианте все страницы должны попасть в карту сайта, в том числе товары.html.
Сергей, спасибо вобщем за помощь!!! ваш код карты сайта который выше — помог, отлично. Тока я вместо единиц прямо так и написал, и удалил {{!+cf.current_city.url}} а то с этой строчкой делается city.city.site.ru но не из-за компонента, а т.к. у меня все переделано было по другому сессии там и что-то подобное,
вот хорошая карта получилась по каталогам, только товары не попали.
вот хорошая карта получилась по каталогам, только товары не попали.
[[!pdoSitemap?
&cache=`0`
&scheme=`http`
&tpl=`@INLINE <url>
<loc>{$url != '/' ? $url : ''}</loc>
<lastmod>{{+date}}</lastmod>
<changefreq>{{+update}}</changefreq>
<priority>{{+priority}}</priority>
</url>`
]]
Добрый день. Кто знает как отменить редирект именно карты сайта?
Яндекс редиректит карту сайта и всех поддоменов на москву…
site.ru/sitemap.xml > редирект moskva.auto-grow.ru/sitemap.xml
perm.site.ru/sitemap.xml > редирект moskva.auto-grow.ru/sitemap.xml
и т.п., очень желаю это исправить,
Яндекс редиректит карту сайта и всех поддоменов на москву…
site.ru/sitemap.xml > редирект moskva.auto-grow.ru/sitemap.xml
perm.site.ru/sitemap.xml > редирект moskva.auto-grow.ru/sitemap.xml
и т.п., очень желаю это исправить,
Изв я вас не понял, в роботс указан site.ru/sitemap.xml
а робот яндекса заходит с московского айпи и видит что карты сайта всех поддоменов редиректятся сюда, на moskva.auto-grow.ru/sitemap.xml как то так, prnt.sc/guesx5
Вобщем задумлся, как исключение сделать, чтобы [[!geoCity]] карту сайта не редиректил, а в остальном работал как работает (фунционал нравится)
ps у меня оказывается авто-редирект ситифиелдс не в настройках включается, а вызовом этого [[!geoCity]].
а робот яндекса заходит с московского айпи и видит что карты сайта всех поддоменов редиректятся сюда, на moskva.auto-grow.ru/sitemap.xml как то так, prnt.sc/guesx5
Вобщем задумлся, как исключение сделать, чтобы [[!geoCity]] карту сайта не редиректил, а в остальном работал как работает (фунционал нравится)
ps у меня оказывается авто-редирект ситифиелдс не в настройках включается, а вызовом этого [[!geoCity]].
Поможет думаете, если так сделать?
[[*id:ne=`1295`or:if=`[[*id]]`:ne=`1314`:then=`[[!geoCity]]`]]
1295 и 1314 — id карт сайта
[[*id:ne=`1295`or:if=`[[*id]]`:ne=`1314`:then=`[[!geoCity]]`]]
1295 и 1314 — id карт сайта
Сниппет [[!geoCity]] не относится к компоненту cityFields. Или это вами написанный сниппет? Редирект осуществляется в классе cityFields при первоначальном определении города.
У вас город по-умолчанию отличается от Москвы?
У вас город по-умолчанию отличается от Москвы?
Сергей, спс, зная про класс CitiFields думаю смогу разобраться
Снипет не я делал.
Отличается город по умолчанию — site ru
Отличается город по умолчанию — site ru
Я указал
<base href="{$_modx->getPlaceholder('cf.current_city.url')}" />
И он правильно карту строит
Вобщем у меня проблема не только с редиректом карты сайта, а еще и в целом, яндекс с московского айпи видит что сайт редиректится на moskva.site.ru и удаляет основной site.ru из поиска.
Даже и не знаю как это решить, но очень интересно, пока просто выключил «Москва» в настройках компонента CityFields. Он у мня модифицирован, редиректы по ip не отключает, а где отключить я так и не понял))0
Даже и не знаю как это решить, но очень интересно, пока просто выключил «Москва» в настройках компонента CityFields. Он у мня модифицирован, редиректы по ip не отключает, а где отключить я так и не понял))0
<div class="col-xs-12 col-sm-9 no-margin">
[[!cfCities?
&tplWrapper=`cfCities.outer`
&tpl=`cfCities.row`
&selected=`1`
]]
[[!setCookie:is=`0`:then=`[[!+cf.geo_city:ne=``:then=`[[!$tpl.IsYourCity]]`]]`]]
<div id="popover-cityfields-big" class="hidden">
<div class="row">
<div class="col-xs-12 m-b">
[[!pdoCfField?tpl=`tpl.YourCity`]]
<hr>
[[!listCities?tpl=`tpl.listCities` &sortby=`name` &sortdir=`DESC`]]
</div>
</div>
</div>
site.ru удаляется по Московскому региону, вместо него добавляется moskva.site.ru, верно? А в других регионах вашего присутствия какие домены в поиске Яндекса?
Москва.сайт.ру в порядке в индексе он и был, и все поддомены города.сайт.ру были проиндексированы нормально. Потом страницы поддоменов и основного домена массово удаляться стали — я их вовремя отследил в вебмастере, увидел что них редирект на «москву» и пока отключил. За поддержку благодарен!
У меня была такая ботва. С ТП с разработчиком этот момент обсуждали и я ему решение говорил — нужно в качестве основного города сделать Москву, тогда робот Яндекса при обходе никуда редиректить не будет и основной сайт и индекса не будет пропадать.
Добрый день. Подскажите, есть пару вопросов по дополнения
1. как можно сменить город по ссылке. Например нужно для рекламы в регионе чтобы точно был верный город (без субдоменов) что-то типа site.ru/page.html?city=1
2. Можно ли как-то исключить товар для определенных городов, не показывать его по условию для снипетов where или типа того.
3. Как происходит авто определение города, невижу привязки созданных горовод к гео данным или выбор происходит при совпадении имени города в базе гео данных
спасибо
1. как можно сменить город по ссылке. Например нужно для рекламы в регионе чтобы точно был верный город (без субдоменов) что-то типа site.ru/page.html?city=1
2. Можно ли как-то исключить товар для определенных городов, не показывать его по условию для снипетов where или типа того.
3. Как происходит авто определение города, невижу привязки созданных горовод к гео данным или выбор происходит при совпадении имени города в базе гео данных
спасибо
1. Компонент принимает только AJAX-запросы для смены города с параметрами:
2. Надо подключить класс cfField и искать плейсхолдер
3. Авто определение идёт по IP, находится город в базе SxGeo, затем берётся название города из их базы и ищется в БД сайта город по названию.
cityfields_action = city/select
city = 1
Через ссылку работает только при включенной опции «Город в домене» и, соответственно, надо отправлять на соответствующий домен.2. Надо подключить класс cfField и искать плейсхолдер
[pre]123_price[/pre]
где 123 — это ID товара. И где, например, цены для города нет, то не выводим его.3. Авто определение идёт по IP, находится город в базе SxGeo, затем берётся название города из их базы и ищется в БД сайта город по названию.
2. Надо подключить класс cfField и искать плейсхолдер
[pre]123_price[/pre]где 123 — это ID товара. И где, например, цены для города нет, то не выводим его.
Можно пример для msProducts или подобного. Не совсем понятно. И еще один момент можно как-то ограничить список городов в выводимом select по их id (типа id=1,2,3). Порой бывает нужно показать не все города из списка а только часть, а отключать их нельзя. Разные наборы городов.
Со вторым решил правкой сниппета cfCities
а вот по
а вот по
Надо подключить класс cfField и искать плейсхолдер
я так понимаю надо сделать &leftJoin=`{"Pprice":{"class":"cfField",.....}}`
Да? но где посмотреть структуру запроса, какие поля джоинить чтобы потом делать where по ним. Или я неверно понял.
Пробовал как-то так
'leftJoin' => '{
"Pprice":{"class":"cfField","on":"Pprice.city_id = 2 AND Pprice.placeholder LIKE \'[pre]78_price[/pre]\'"}
}',
'where' => '{"Pprice.value":"1"}'
Ничего не выходит. ( Может кто подскажет в чем ошибка?
в муках родился запрос, делюсь думаю будет полезно, ктото спрашивал тоже. Вроде работает
Остальное тоже решил. Кроме переключения города по ссылке без домена. Буду надеется автор добавит данную возможность в пакет.
'leftJoin' => '{
"Pprice" : {
"class" : "cfField",
"alias" : "Pprice",
"on" : "Pprice.city_id = ' ~ $_modx->getPlaceholder('cf.current_city.id') ~ ' AND Pprice.placeholder = CONCAT(\'[pre]\', msProduct.id, \'_price[/pre]\')"
}
}',
'select' => '{ "Pprice" : "Pprice.value" }',
'where' => '{"Pprice.value:>":"0"}'
исключает все товары города у которых не выставлены цены.Остальное тоже решил. Кроме переключения города по ссылке без домена. Буду надеется автор добавит данную возможность в пакет.
Иногда в ошибках появляется
[2017-11-18 14:43:39] (ERROR @ /core/components/pdotools/model/pdotools/pdofetch.class.php : 171) [pdoTools] Error 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND Pprice.placeholder = CONCAT('[pre]', msProduct.id, '_price[/pre]') WHERE ( ' at line 1
Причем когда возникает не понятно, но все работает. Может, кто сталкивался
Пока нет, но будут новости — сообщу! Спасибо за рабочий пример)
{'!mFilter2' | snippet : [
'leftJoin' => '{
"cfFieldPrices" : {
"class" : "cfField",
"alias" : "cfFieldPrices",
"on" : "cfFieldPrices.city_id = ' ~ $_modx->getPlaceholder('current_city.id') ~ ' AND cfFieldPrices.placeholder = CONCAT(\'[pre]\', msProduct.id, \'_price[/pre]\')"
}
}',
'select' => '{ "msProduct" : "*", "cfFieldPrices" : "cfFieldPrices.value AS cfprice" }'
]}
Да идут пару ошибок:
pdofetch.class.php: 189) [pdoTools] Error 42S22: Unknown column 'cfFieldPrices.value' in 'field list'
pdofetch.class.php: 188) [pdoTools] SELECT SQL_CALC_FOUND_ROWS[2024-06-20 23:32:54] (ERROR @ /core/xpdo/xpdo.class.php : 644) /assets/components/msearch2/action.php [2024-06-20 23:32:54] (ERROR @ /core/xpdo/xpdo.class.php : 645) Could not load class: cfField from mysql.cffield.
pdofetch.class.php: 189) [pdoTools] Error 42S22: Unknown column 'cfFieldPrices.value' in 'field list'
Решается добавлением 'loadModels' => 'cityfields',
Использую ваш вариант для фильтра, все работает. Но только при перезагрузки страницы. Как только пытаешься дополнительно отфильтровать результат в фильтре веб браузера пишет — Подходящих результатов не найдено. Но при перезагрузке страницы они появляются. В чем может быть проблема?
[2019-10-15 10:52:03] (ERROR @ /var/www/u150978/data/www/multisite/core/components/msearch2/model/msearch2/msearch2.class.php: 1137) [mSearch2] Method «get{*resourceValues» not exists in class «mse2FiltersHandler». Could not retrieve filters from "{*resource"
[2019-10-15 10:52:25] (ERROR @ /var/www/u150978/data/www/multisite/core/components/msearch2/model/msearch2/msearch2.class.php: 1137) [mSearch2] Method «get{*resourceValues» not exists in class «mse2FiltersHandler». Could not retrieve filters from "{*resource"
[2019-10-15 10:52:25] (ERROR @ /var/www/u150978/data/www/multisite/core/xpdo/xpdo.class.php: 644) Could not load class: cfField from mysql.cffield.
[2019-10-15 10:52:25] (ERROR @ /var/www/u150978/data/www/multisite/core/components/pdotools/model/pdotools/pdofetch.class.php: 172) [pdoTools] Error 42S22: Unknown column 'Pprice.value' in 'where clause'
Вот ошибки которые выдает лог
[2019-10-15 10:52:25] (ERROR @ /var/www/u150978/data/www/multisite/core/components/msearch2/model/msearch2/msearch2.class.php: 1137) [mSearch2] Method «get{*resourceValues» not exists in class «mse2FiltersHandler». Could not retrieve filters from "{*resource"
[2019-10-15 10:52:25] (ERROR @ /var/www/u150978/data/www/multisite/core/xpdo/xpdo.class.php: 644) Could not load class: cfField from mysql.cffield.
[2019-10-15 10:52:25] (ERROR @ /var/www/u150978/data/www/multisite/core/components/pdotools/model/pdotools/pdofetch.class.php: 172) [pdoTools] Error 42S22: Unknown column 'Pprice.value' in 'where clause'
Вот ошибки которые выдает лог
Попробуйте добавить в вызов сниппета аргумент loadModels=`cityfields`
Спасибо, заработало! Еще вопрос возник, как в настройках сниппета добавить возможность включить все города в вызове модального окна?
Кнопка — Все города
Решил добалением города — Все города
А подскажите, как заносить кириллические поддомены: в кодировке или прямо как есть буквами русскими? Что-то у меня поддомен кириллический 404 ошибку отдает.
Как вынести выбор города в модальное окно?
К сожалению, в актуальной версии компонента данной функции нет. Необходимо перерабатывать вывод на фронт, то есть переписывать чанки. стили и js-код.
Приветствую! Планируется ли что-то по ускорению заполнения данных для большого числа городов? Например копирование набора данных(что то типа для Москвы 4 переменные, отменить галочкой все — копировать в другой город)? Сложно ли реализовать импорт из csv?
Добрый день, Андрей.
Импорт из csv я реализовывал, могу скинуть файлы для доработки функционала. В техподдержке тишина полная, такое ощущение, что компонент более не поддерживается.
Меня интересует вопрос, кто сталкивался с некорректной работой компонента с кириллическими доменами? С ними он не работает.
Импорт из csv я реализовывал, могу скинуть файлы для доработки функционала. В техподдержке тишина полная, такое ощущение, что компонент более не поддерживается.
Меня интересует вопрос, кто сталкивался с некорректной работой компонента с кириллическими доменами? С ними он не работает.
Сергей, доброго дня Вам. Подскажите пожалуйста, все ли нормально?
У меня после 30-го города, данные добавляются без названия города, вот так оно выглядит в админке:
при редактировании — вместо пустого названия города появляется правильный ID… 46
Проблема 30-м и всеми следующими городами.
У меня после 30-го города, данные добавляются без названия города, вот так оно выглядит в админке:
при редактировании — вместо пустого названия города появляется правильный ID… 46
Проблема 30-м и всеми следующими городами.
Дальше можно работать? такие «Данные» с свиду пустым полем города не подведут?
Пока так все города заполнил, проверил — работает. Просто, волнуюсть, будут ли проблем в будущем.
1) Не работает с последним msOptionsPrice2. Думаю это как-то связано с:
3) Можно ли как-то интегрировать это решение с msOptionsPrice2? Т.е. города и информацию для городов добавлять через cityFields, а цены регулировать msOptionsPrice2?
Например, если товар «iPhone 5» в двух цветах: красный и белый. 2 региона: Москва и Санкт-Петербург. В таком виде, как это сделано сейчас, можно лишь изменить отдельно цену для региона и отдельно цену для цвета, а если добавить как модификатор, то можно будет и для разных регионов и разных опций выставлять цену. К тому же, можно будет выставлять старую цену отдельно для каждой модификации.
2.5.2 beta (24.04.2018)2) При установке даже на чистый MODX на демо modhost.pro не загружаются лексиконы. В меню вместо «cityFields» написано «cityfields_action». Также вместо ошибок выводятся названия лексиконов.
Change «saveProductModification» [msopModification]
Change «isWorkingClassKey, isWorkingTemplates, loadControllerJsCss» [msoptionsprice]
2.5.1 beta (23.04.2018)
Change «msOptionsPriceMsOnGetProductPrice,msOptionsPriceMsOnGetProductWeight,msOptionsPriceMsOnBeforeAddToCart» [msOptionsPricePlugin]
Add «msoptionsprice_mid» [js]
3) Можно ли как-то интегрировать это решение с msOptionsPrice2? Т.е. города и информацию для городов добавлять через cityFields, а цены регулировать msOptionsPrice2?
Например, если товар «iPhone 5» в двух цветах: красный и белый. 2 региона: Москва и Санкт-Петербург. В таком виде, как это сделано сейчас, можно лишь изменить отдельно цену для региона и отдельно цену для цвета, а если добавить как модификатор, то можно будет и для разных регионов и разных опций выставлять цену. К тому же, можно будет выставлять старую цену отдельно для каждой модификации.
Добрый день подскажите, при смене города цена меняется только после очистки кеше в админе. Чистка кеша в браузере не помогает в чем может быть проблема?
Всем привет, учитывая что у компонента есть определение города по ip, как отобразить реальный город посетителя? Не выбранный [[!+cf.current_city]] а реальный?
Добрый день. А [ [!+cf.current] ] или [ [!+cf.key] ] не работают? Не могу ключ получить города.
[ [+cf.current_city.key] ]
Нашла таки)
Нашла таки)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.