Поле, которое просили на форуме. В рамках изучения системы написал строго по ТЗ. Позволяет выводить ссылки на социальные сети. ОБласть применения — различная, но больше наверное подойдет для профилей пользователей, хотя можно использовать и в группах, и в типах контента.
Настройки — минимальны. Позволяют выбрать, какие соцсети будут доступны в поле, а также можно задать заголовок:
В типе контента поле выглядит так:
В самой записи выглядит так:
Иконки берутся из системного набора иконок brands.svg, но если это кого-то не устроит — могу переписать механизм выбора соцсетей. Поле бесплатное и писалось больше для знакомства с системой, нежели для какого-то отклика сообщества.
Неплохое начинание. Понимаю, что писалось быстро, но всё же позволю себе прокомментировать.
Преобразования json_decode я бы вынес в отдельный метод, вы дублируете механизм всё время.
Вместо
Лучше использовать
Поскольку так вы подключите независимо от шаблона.
Иконки лучше подключать так:
Что так же подключит их независимо, учитывая наследование в шаблонах. И в целом, будет учитываться возможность того, что CMS установлена в поддиректории.
Вы не используете языковые фразы, это лишнее.
Методы storeCachedValue и hookAfterAdd в поле лишние, вы не используете денормализацию. Это же касается и метода applyFilter:
Не критики ради и без негатива, исключительно пояснения, чтобы вы быстрее разобрались с InstantCMS.
Благодарю за пояснения, обязательно это учту в будущем.
Да, это тоже разумно. Буду тренироваться на новом функционале поля, буду признателен за пояснения к коду
Без проблем :) Вот ещё на скорую руку.
Зачем в default вы ставите строку через implode, так и оставили бы массив array_keys($this->network_titles), вы же указали is_multiple.
спасибо, а для профиля пользователя использовать можно?
Можно
Было бы хорошо, если бы при заполнении поля ссылка можно было вводить логин/никнейм, а не полностью ссылка
Да, уже обсуждали это на форуме. Добавлю такую возможность.
На мой взгляд поле совсем не гибкое, жестко привязаны предлагаемые соцсети. На мой взгляд нужно дать пользователю самостоятельно прописывать целую ссылку вместе с https и выбирать иконку из предлагаемого списка как это можно делать при добавлении меню (скрин). Вот тогда это был бы очень гибкий вариант поля, самодостаточный. Ну к примеру я не нашел сс X, дискорд,… или мне нужны еще какие то другие,
Согласен. Можно сделать все, вплоть до мини-конструктора. Но — поле писалось исключительно для знакомства с механизмами системы и строго по ТЗ человека, который на форуме спрашивал данное поле. Так что — поле в той реализации, в которой есть.