Привет Всем! Кто нибудь пользовался модулем Smart IP? Как мне сделать блок,чтобы выводился город?
Как реализовать?Создать блок и пыхой написать. Что писать. не пойму. Спасибо
Потом с помощью модуля Views Conditional написал условие.
В типе материалов поле город у меня ссылка на термин таксономии.
Вроде все работает, но чего то мне не очень нравится решение.
Есть ли какие нибудь еще решения, фильтровать контент в зависимости от города который определился по ip адресу?
Комментарии
Получаешь данные о регионе и строишь свою логику вывода.
В API модуля, обычно всегда есть примеры.
А вообще модуль плохой под РФ/СНГ и под наших операторов связи.
А для РФ есть чего нибудь?
раньше можно было скачать базу с городами. сейчас нашел только субъектов РФ. погуглите. тема обширная.
Через сервисы только.
Эта связка хорошая:
https://sypexgeo.net/
+
https://yandex.ru/dev/locator/
А dadata.ru вроде нормуль. Кто пользовался, дайте пожалуйста обратную связь.
Разбираю модуль Smart IP. Могу вывести код страны
$locat = $location->get('countryCode');
А как вывести город не могу понять. Прошу помощи. Подскажите.Спасибо
Все. Решил
$locat = $location->get('city');
Есть еще необходимость фильтровать контент в Views. Пока сделал так:
Написал Views Field Handler Plugin, создал поле в Views.
namespace Drupal\dummy\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\ResultRow;
/**
* @ingroup views_field_handlers
*
* @ViewsField("dummy_created_relative")
*/
class DummyCreatedRelative extends FieldPluginBase {
/**
* {@inheritdoc}
*/
public function query() {
// We don't need to modify query for this particular example.
}
/**
* {@inheritdoc}
*/
public function render(ResultRow $values) {
$location = \Drupal::service('smart_ip.smart_ip_location');
$locat = $location->get('city');
return [
'#markup' => $locat,
];
}
}
Потом с помощью модуля Views Conditional написал условие.
В типе материалов поле город у меня ссылка на термин таксономии.
Вроде все работает, но чего то мне не очень нравится решение.
Есть ли какие нибудь еще решения, фильтровать контент в зависимости от города который определился по ip адресу?