Loadырь

Loadырь

Быть лучшим - не значит быть достаточно хорошим.
+1247
Репутация
4894
Рейтинг
#1 Виджет или поле "Похожий контент" 18 февраля 2015 в 21:00

А когда можно будет скачать компонент?

Олег с клещами
Компонент платный, вариантов "скачать" есть два:
1. Любому желающему за 300 руб. после оплаты придёт письмо с вложением.
2. Всем желающим дружно скинуться на
4000 руб
, и тогда в паблике появится ссылка скачать для всех.

Добавил несколько "уникальных" статей на демо сайте. Прописал в них более адекватные ключевики. Можете посмотреть результат.
#2 Виджет или поле "Похожий контент" 16 февраля 2015 в 21:48

Пока смотрю статьи выводятся не очень похожие.

qwest
Исправил "логику мышления".

В админке добавил пару чекбоксов, теперь можно выбирать — использовать в поисковой фразе заголовок и/или ключевые слова. Также добавил возможность обрезать поисковый запрос по длине. Ещё теперь поиск идёт по словам которые равны или длиннее 4 символов, эту функцию в админку не стал выводить.

Для наглядности на демке вывел фразу по которой идёт отбор и соответственно ниже то что он нашёл. Также в случае, если по поисковой фразе ничего не найдено, то об этом прямо и говорит например как тут и выводит то что отфильтровано другими настройками.

Может попробовать выводить похожие из той же категории, что и просматриваемая статья?

qwest
У вас есть доступ к админке и к настройкам самого компонента, пробуйте. Можете создать свои наборы фильтров и вывести в любом месте.
Единственное полнотекстовый поиск возможен только, когда поле или виджет стоят на странице записи контента. В списке записей, категории или где-то вне компонента "контент" работает только простая фильтрация (по категории, наборам типа контента, полям, тегам, просмотрам, комментариям и т. д.) и сортировка.

Также вы можете накидать туда пару сотен статей, новостей, с нормальными ключевиками и посмотреть, как они будут релевантиться laugh
#3 Виджет или поле "Похожий контент" 16 февраля 2015 в 07:13
Раскидал новости по категориям.
#4 Виджет или поле "Похожий контент" 16 февраля 2015 в 06:41

И вопрос по кэшированию оно будет?

qwest
Кэширование есть, при включении в админке в настройках сайта, количество запросов к базе сокращается чуть меньше, чем вдвое. Но надо продумать ещё, что именно кешировать и как потом это ограничивать по правам доступа. Для пользователя с правами админа разници нет никакой. Сейчас пользователь заходит на страницу, происходит выборка материала согласно его уровню доступа, эти записи и кэшируются, и выдаются следующим пользователям во время жизни кэша. А это не совсем верно. Если у пользователя мало прав, то и кэш будет маленьким и пользователи с расширенным набором прав не увидят доступных им записей. И наоборот гости смогут увидеть наборы из "привата". Поэтому с кэшем ещё работаем. Если будут идеи — делитесь.
#5 Виджет или поле "Похожий контент" 15 февраля 2015 в 17:27
Накидал несколько новостей тут. Добавил полнотекстовый поиск по заголовкам, ключевым словам и основному тексту. Теперь компонент получает ключевые слова той страницы, где установлен виджет или поле и ищет их в зависимости от настроек по заголовкам, ключевым словам и/или основному тексту в тех новостях, что доступны после применения фильтров. Фильтрами можно сократить или переопределить варианты выдачи. В новостях ключевые слова автоматически заполнялись, поэтому там полная каша. И тем не менее связи уже прослеживаются. Или мне это показалось? andrey, что скажете?
#6 [ЕСТЬ РЕШЕНИЕ] Instant + denwer 15 февраля 2015 в 11:28

Правильная последовательность:

Вежливый Хам

1) делаете не денвере сайт не важно с каким именем
2) после того как проект готов — на вебсервер заливаете файлы из готового проекта.
3) заливаете дамп базы
4) правите конфиги настроек для доступа к базе данных в файле \system\config\config.php если это двойка или \includes\config.inc.php если это первая ветка

Всё так!
#7 [ЕСТЬ РЕШЕНИЕ] Выбор нескольких пунктов в свойстве типа контента. 13 февраля 2015 в 15:14
Nanotraktor, подобная тема тут уже поднималась. Но пока ждём обновление с таким функционалом.
#8 [ЕСТЬ РЕШЕНИЕ] Задачка 12 февраля 2015 в 14:40

2 по 0,5!

Val
это ответ на вопрос откуда взялись Толян со своими 100 руб и Леха со своим 50 руб. Это подтверждается и тем что стольник был утерян.
#9 Виджет или поле "Похожий контент" 12 февраля 2015 в 07:31
Val, почитал про «Алгоритм Шинглов». Всё таки, немного другое у него целевое назначение. Его используют для сравнения текстов с выдачей некоторого процента схожести, обычно в поисковых системах для отсеивания дубликатов. Работает хорошо, но я полагаю, что разбивать каждый заголовок, ключевые слова и текст каждой записи из базы на шинглы и потом их сравнивать с нужной фразой — делать это на лету — накладно на производительности. Поэтому пока остановился на полнотекстовом поиске по title, seo_keys и content. Осталось накидать контента на демо сайт, чтоб проверить, как отрабатывает. У кого нибудь есть дамп старого ненужного контента (пара сотен статей, уникальность мне ни к чему) или какой-нибудь парсер на пару дней, чтоб не затягивать это на пару лет smile. А то с шестью статьями и десятью новостями, как-то не интересно.
#10 Запросы БД в двойке 12 февраля 2015 в 06:11
  1. public function getSumm($id){
  2. $this->selectOnly('SUM(cena)');
  3. $this->filterEqual('id', $id);
  4. return $this->get('price');
  5. }
#11 Виджет или поле "Похожий контент" 11 февраля 2015 в 08:24

а на что похожие?

qwest
на самих себя.
andrey, Val, спасибо, буду искать оптимальный вариант.
#12 Виджет или поле "Похожий контент" 10 февраля 2015 в 17:50

минимум по тегам

andrey
По тегам можно фильтровать записи, ещё по просмотрам, по комментариям и по определённым полям. По ключевикам пока думаю, как их извлечь из основной записи и применить в фильтре. Ведь в основной записи их может быть 5-10 слов через запятую, может ограничить дело первыми двумя — тремя и искать по паре или по отдельности каждое? А если выводить в виджете вне записи контента, — в списке или на главной, то действительно получается подобие виджета "случайные записи".

Наверное не стоит выводить ту же самую новость в похожих.

qwest
Тоже обратил на это внимание, в случае с записью можно это решить, а вот при выводе в списке, придётся подумать.
#1 Виджет или поле "Похожий контент" 10 февраля 2015 в 14:44
Была тут подобная тема, но пока делал свою версию поля и виджета, тему порешили. Видимо, надо шустрее быть.
В общем, есть одно "решение". Сделал его на своём демо -сайте (логин/пароль — moderator@krivo.pro/moderator). Обозвал "похожий контент" (Искать по этой фразе в админке: в поле контента, виджетах и компонентах). По сути, создаётся набор фильтров (по аналогии с наборами типов контента) и выводится в нужном месте. На главной вывел сгруппированный виджет, а в записях новостей и статей отдельные виджеты. Контент фильтруется по настройкам и выводится рандомно. Отбор идёт по формуле "Количество выводимых записей" умножено на 2 и добавлена одна запись. Другими словами если указано Количество выводимых записей = 2, то отбираются 5 записей и из них рандомно выводится 2, если указано Количество выводимых записей = 10, то отбирается 21 запись и из них выводятся 10. Если указано 4 записи, а доступно только 4 и меньше, то выведет их в случайном порядке.

ЗЫ. Забыл спросить — чего этому компоненту ещё не хватает?
#13 [ЕСТЬ РЕШЕНИЕ] Обрезание строки url по заданному кол-ву символов 10 февраля 2015 в 09:01

Если поменять там 250 на 40, то эффекта не будет.

Антон Самарин
Да, эффекта не будет. Так как это — значение по умолчанию. Вам надо выводить ваш урл, как-то так, $url = crop($url, 40);
#14 Как сделать скрытое поле в контенте? 6 февраля 2015 в 19:02

content_edit.php? — не угадал?

kreator
Не угадал. item_add.php и item_edit.php в папке \system\controllers\content\actions\ там есть, что-то похожее на
  1. cmsEventsManager::hook("content_add", $ctype);
и
  1. $item = cmsEventsManager::hook("content_before_update", $item);
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.