C

Cruzka

Времена не выбирают..
+105
Репутация
1108
Рейтинг
#1 [ЕСТЬ РЕШЕНИЕ] Ошибка на 1.10 с добавлением статьи 31 октября 2012 в 23:29
Мой косяк, модуль "новые статьи" был включен но галка "Отображать анонсы" была снята, вот и не выводил на главной.
#2 Статья сразу в нескольких разделах 31 октября 2012 в 19:13
#1 1.10 Отображение статьи во всех родительских категориях 31 октября 2012 в 19:11
Решение для версии 1.9: Статья сразу в нескольких разделах

Решение для 1.10

Преамбула:

Актуальная проблема (1 из веток instantcms.ru/forum/thread11911.html): разместить статью сразу в нескольких разделах.
Допустим, есть вложенное меню
  1.  
  2. Еда
  3. -Первое
  4. --Салаты
Добавляем мы статью "салат греческий" в раздел "салаты". Логично при этом чтобы она отображалась также в разделах "Еда" и "Первое".

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

Экшн:

Правим 2 файла. Первый: /components/content/model.php
Добавляем рядом с
  1. /**
  2.   * Условия выборки
  3.   */
функцию
  1. public function whereCatIn($category_ids) {
  2. $this->inDB->where("con.category_id IN (".$category_ids.")"); //условие выборки статьи из перечисленных категорий
  3. }
  4.  
Второй: /components/content/frontend.php
Находим "Условия" (около 108 строки) и комментируем строку:
  1. // Условия
  2. //$model->whereCatIs($cat['id']);
добавляем после неё
  1. //!---связи
  2. //1 уровень
  3. $sql1 = "SELECT id FROM cms_category WHERE parent_id = '".(int)$cat['id']."'";
  4.  
  5. $result1 = $inDB->query($sql1);
  6.  
  7. $innercats=(int)$cat['id']; //исходно показываем только в одной категории
  8.  
  9. if ($inDB->num_rows($result1)) {
  10. while($innercat1 = $inDB->fetch_assoc($result1)){
  11. $innercats = $innercats.", ".(int)$innercat1['id'];
  12. }
  13. }
  14.  
  15. //2 уровень
  16. $sql2 = "SELECT id FROM cms_category WHERE parent_id IN($innercats)";
  17.  
  18. $result2 = $inDB->query($sql2);
  19.  
  20. if ($inDB->num_rows($result2)) {
  21. while($innercat2 = $inDB->fetch_assoc($result2)){
  22. $innercats = $innercats.", ".(int)$innercat2['id'];
  23. }
  24. }
  25. //!---
  26.  
  27. $model->whereCatIn($innercats);
для 3 и больше уровней вложенных категорий, скопируйте блок //2 уровень
#3 Убрать названия категорий из url статьи 31 октября 2012 в 12:52
Positive, убрать "блог" из пути…
нужно как-то определять, при переходе по ссылке, блог это или статья
т.е., во-первых, урлы блогов не должны совпадать с урлами категорий
во-вторых, урлы блогов не должны совпадать с урлами статей..
и наоборот.
получается, для каждого нужно проверку дописывать. и не исключено что я что-то забыл
#4 [ЕСТЬ РЕШЕНИЕ] Ошибка на 1.10 с добавлением статьи 31 октября 2012 в 12:21

Так и не будут создаваться. Включите и настройте плагин и все будет в норме.

Anabiotick
во-первых, в ленте нет "%username% добавил %articlename%"
во-вторых, толку от созданных на форуме тем нет, поскольку пока они создаются не привязанные к разделам форума, то отдают 404
#5 [ЕСТЬ РЕШЕНИЕ] Ошибка на 1.10 с добавлением статьи 31 октября 2012 в 01:36

1. полторы недели шло тестирование — не наш метод?

picaboo
на RC6 не заметил такого бага, а скачал голый релиз — появился

2. плагин автофорум настроен?

picaboo
отключил его, темы не создаются.

осталось ещё разобраться как сделать чтобы в ленте были ссылки на статьи
#6 [ЕСТЬ РЕШЕНИЕ] Ошибка на 1.10 с добавлением статьи 31 октября 2012 в 00:36
Путём нехитрых манипуляций в базе, выяснил, что страница 404 из-за того, что ей не присвоена родительская категория форума..
но всё равно повисают вопросы:
1. Как сделать чтобы в ленте выводилась ссылка на статью, а не на обсуждение на форуме (без правки движка)?
2. Как отключить публикацию тем на форуме одновременно со статьёй?
#7 [ЕСТЬ РЕШЕНИЕ] Ошибка на 1.10 с добавлением статьи 31 октября 2012 в 00:14
как-то странно, в ивентах форума "последние темы/комментарии" есть темы, но прямые ссылки на них ведут на 404
#1 [ЕСТЬ РЕШЕНИЕ] Ошибка на 1.10 с добавлением статьи 31 октября 2012 в 00:04
Установил свежую 1.10.
Добавил категории, сделал тестовую запись "Тест название".
На главной в ленте появилась

Администратор создает тему Тест название:
В этой теме форума обсуждаем статью "Тест название"

со ссылкой на форум… отдающей 404. перехожу на форум — он пуст, нет ни категорий ни тем
В ленте при этом не появляется "была добавлена статья" или типа того, только "тема на форуме". В разделе статья отображается.
Ссылка с самой страницы материала "обсудить тему на форуме" также ведёт на 404
#8 Что такое InstantCMS 1.10 и с чем его едят ? 29 октября 2012 в 19:14
Что там, кстати, с релизом?
#9 Каталог сайтов, работающих на InstantCMS 28 октября 2012 в 16:39
Идея в общем-то хорошая.
Первым, вместо тестовых, добавили бы этот самый сайт
Рейтинг ещё неплохо бы
#10 Убрать названия категорий из url статьи 28 октября 2012 в 01:42
Positive, ещё по поводу /users: придётся проверять, не добавлена ли категория 1 уровня с таким же "ником". и наоборот, при добавлении категории, нет ли такого юзера
#11 Убрать названия категорий из url статьи 27 октября 2012 в 21:29

— как уменьшить таким же образом вложенность постов блогов,

Positive
можно, но как быть с дублями? 2 разных человека на своих блогах могут создать записи с одинаковыми тайтлами, например, "Первая запись", одну из них не запоминать? или как?

— как убрать из урла профиля users/?

Positive
чтобы было /admin вместо /users/admin? Что будет если кто-то зарегается с ником, например, "blogs"?
#12 [ЕСТЬ РЕШЕНИЕ] Возможно вставить в tpl скрипт партнёрки? 27 октября 2012 в 12:46

Может сама партнерка еще не активировалась?

Rossoman
кстати, да, исходный код страницы на сайте на наличие кода смотрели?
#13 [ЕСТЬ РЕШЕНИЕ] Возможно вставить в tpl скрипт партнёрки? 27 октября 2012 в 12:37
страницы кэшируются мб?
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.