Палата №6: Модификация IPB3 - Палата №6

Перейти к содержимому

  • 5 Страниц +
  • 1
  • 2
  • 3
  • 4
  • Последняя »

Модификация IPB3 php и т.д.

#21 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 16 Ноябрь 2021 - 18:04

В идеале конечно БЕЗ JS - в шаблон PHP через админку вставить в генерируемый контейнер класс - но я НЕ хочу по жести отлаживать, касаться скриптов ядра движка.
Так что CSS сразу схватит по дочернему селектору, а JS так понимаю после прогрузки HTML поменяет где надо стиль контейнеров Основных поста и скроет их - вроде как исполнение должно быть НЕ заметным.

Сообщение отредактировал xfate: 16 Ноябрь 2021 - 18:06


#22 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 16 Ноябрь 2021 - 18:18

Надо чтобы JS еще вставился НИЖЕ по исполнению - чтобы схватил структуру html
Можно привязаться к какому-то имеющимуся скрипту то что в "футере" допустим

#23 Пользователь офлайн   Silencio Muerto 

  • self
  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 1 035
  • Регистрация: 28 Июль 10
  • Город:Saint-Petersburg

Отправлено 16 Ноябрь 2021 - 18:30

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

#24 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 16 Ноябрь 2021 - 18:43

Мне нужно получить инструментарий - если оно Будет Отрабатывать вооообщеееее....
А там уже будем думать дальше.

з.ы. вообще цель ни php, ни mysql не трогать....
так что зависимости "условны" - накидываемая css и js

#25 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 16 Ноябрь 2021 - 19:25

css - по необходимым селекторам стиль дает
js - добавляет контейнеру Мой класс, стиль к которому будет применяться

з.ы. может вообще ничего добавлять Не стоит - так как функционал на Выпиливание следов Игнор постов является Не гибким в текущем варианте... потому что Убирает Отображение "спойлера" если оно Необходимо....

в идеале иметь Галочку на ВКЛ. / ВЫКЛ. чистки следов....
то есть чтобы пользователь имел выбор - "по дефолту" или "с модом"...

а это в свою очередь выливается в поиск необходимого php шаблона в админке, изменении его, изменение таблицы пользователей в БД добавление ячейки булевого значения

Сообщение отредактировал xfate: 16 Ноябрь 2021 - 19:27


#26 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 16 Ноябрь 2021 - 19:49

Оооо нашел то что мне нужно и там есть необходимые переменные - topicViewTemplate

Внешний вид > Управление стилями и шаблонами > Управление шаблонами в IP.Board
> Шаблоны > Темы > topicViewTemplate

Прямо туда можно и JS.
Если гибко - то стучаться к БД по текущему пользователю - динамически Вставлять или Нет JS.

"Human readable" хоть..... С этим уже можно что-то сделать.

#27 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 16 Ноябрь 2021 - 21:41

Готово - 3 строки на JS в шаблоне отработали.

#28 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 16 Ноябрь 2021 - 22:04

Инструмент чистки следов есть, теперь добавка включения / выключения мода.
Завтра код скину, ибо уже не за компом.

Пока что там заглушка по if....

#29 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 17 Ноябрь 2021 - 03:16

Просмотр сообщенияSilencio Muerto (16 Ноябрь 2021 - 18:30) писал:

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

Я в начале предметную часть вывожу "на поверхность" - смотрю может ли дать необходимое.
Далее от нее и "пляшем".
А конкретно ТЗ отталкиваться будет, есть ли Доступ к чему хочу или нет.

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

Там где-то есть Один запрос к БД при формировании массива данных по пользователю Перед отображением страницы.

Потом шаблон формы настройки по игнор юзверам.

Потом модифицированный запрос на добавку в БД.

То есть я попробую это все найти чтобы сделать по уму.

То есть у меня пхп как ни крути + яваскрипт + надо найти запрос на вставку данных в БД.

Предполагаю что не прямые запросы к БД, а через фреймворк, либо свой класс работы с БД.

То есть как я понимаю, если это Не найду, то смысла в Моде нет - потому что он режет наглухо отображение контейнера поста где игнор.

З.ы. есть также мысли о Связи на игнор юзера, чтобы выпиливать формы и кнопки на ответ в Лич. тер....

Но это если хватит запала рыть.

Пока что просто "чистка следов".

#30 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 17 Ноябрь 2021 - 03:45

З.ы.ы. идея такая - при заходе любого юзвера в тему в лич. тер. - идет сверка в БД топик стартера по полю забаненых, если в цикле сверки юзвер == юзвер_"нный"_забаненый, то ява скрипт режет все кнопки ответов / цитирования, формы ответов

Я не уверен что ты вообще на такое согласишься так как выставляет Жосткие ограничения на лич.тер. - что Нарушает концепцию форума что ли - если юзвер "не забанен" админом или модером - то он может Везде писать комментарии Темы которые он видит и которые Не закрыты.

В любом случае хоть "чистку следов" ты по идее после согласований, ЕСЛИ сделаю, то вполне можешь внедрить, она ничего Не нарушает, Зависимостей нет вообще никаких - и "вырезает" контейнер по уникальному идентификатору поста.
То есть другое что-то порезать оно Не сможет, причем никак.

Вопрос лишь в шаблонах целевой формы, внедрение в БД....
Ну пишу выше.....

У меня есть теоретическое понимание как оно устроено.

Ладно трещу много - если сделаю, покажу.

Сообщение отредактировал xfate: 17 Ноябрь 2021 - 03:50


#31 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 17 Ноябрь 2021 - 04:33

Просмотр сообщенияSilencio Muerto (16 Ноябрь 2021 - 18:30) писал:

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

Чтобы ТЗ - предметную часть нужно выделить.
Пока что поиски ее.

Допустим смысл ТЗ на создание автомобиля, если нет понимания как делать "коробку передач".
То есть у нас должна быть эта Составляющая хотя бы Основная сырая версия, которая в принципе может исполнять данный функционал.

А городить абстракции Зачем мне на этапе изучения и прототипирования..

Это очень схоже на программистов с UML диаграммами головного мозга.

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

При первом приближении - мы ставим Цель - чего добиться.

Потом роемся, внедряем основной исполняемый функционал, потом обвязку к нему.

Подробно и все зависимости, это уже в конечном варианте.

То есть смысл постоянно менять ТЗ на новые версии мода.

В конце я увижу что "дёргает", что на запись, чтение и покажу зависимости.

Естественно я смотрю чтобы так сделать, чтобы изменения Ни на что имеющееся Не влияло по ходу исполнения.

То есть у меня там свои данные, а данные которые пользую только на чтение.

На запись постараюсь в БД поле свое и только там на запись...
На чтение Единожды когда стучится Чтение при загрузке страницы...

Судя по тому что пишу можно в принципе прикинуть понимаю ли что делаю или нет.

К тому же если я уже получил Целевое исполнение в Нужном оптимальном месте - это уже о многом говорит.

До этого я IPB вообще Не знал...

Вообщем нужно время, потом выдам решение и спецификацию подробного исполнения и внедрения в IPB 3.1.4

Да/да, нет/нет.

Не совсем по теме, но отражает ) >>
https://youtube.com/...h?v=ir5rj2yYH_8

В общем можешь думать что у меня Свой подход ))....
И я в команде не тружусь - все в одну каску - все по ходу пьесы )..

Просмотр сообщенияSilencio Muerto (16 Ноябрь 2021 - 18:30) писал:

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

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

Ладно замолкаю, если решу задачу, покажу...

Сообщение отредактировал xfate: 17 Ноябрь 2021 - 04:09


#32 Пользователь офлайн   Silencio Muerto 

  • self
  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 1 035
  • Регистрация: 28 Июль 10
  • Город:Saint-Petersburg

Отправлено 17 Ноябрь 2021 - 11:30

Просмотр сообщенияxfate (17 Ноябрь 2021 - 04:33) писал:

Чтобы ТЗ - предметную часть нужно выделить.
Пока что поиски ее.

Допустим смысл ТЗ на создание автомобиля, если нет понимания как делать "коробку передач".
То есть у нас должна быть эта Составляющая хотя бы Основная сырая версия, которая в принципе может исполнять данный функционал.

А городить абстракции Зачем мне на этапе изучения и прототипирования..

Это очень схоже на программистов с UML диаграммами головного мозга.

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

При первом приближении - мы ставим Цель - чего добиться.

Потом роемся, внедряем основной исполняемый функционал, потом обвязку к нему.

Подробно и все зависимости, это уже в конечном варианте.

То есть смысл постоянно менять ТЗ на новые версии мода.

Судя по тому что пишу можно в принципе прикинуть понимаю ли что делаю или нет.

В общем можешь думать что у меня Свой подход ))....
И я в команде не тружусь - все в одну каску - все по ходу пьесы )..


Понимаешь, в твоём "подходе" абсолютно отсутствует системность. А бессистемность приводит к тому, что ты тратишь своё же время на множество лишних итераций и телодвижений, которых можно было бы избежать.
Ты пишешь, что делаешь это для п6. Но п6 - это люди. Люди прежде всего должны понимать, что они получат в конечном итоге, хотя бы что предполагается получить. В ином случае это похоже на создание видимости бурной деятельности и не более того. Задевает ли тебя такое мнение? Возможно, ты с этим не согласишься, но тогда к чему весь этот абстрактный разброс, понятный только тебе и то вызывающий сомнения.
Да, ты не работал никогда в команде, но ты работаешь всегда для людей. Люди - твой конечный пользователь. И объяснять людям нужно так, чтобы даже бабушка с соседний улицы поняла, о чём идёт речь.
Конечная цель разработки, сроки, оценка рисков. Всё это взято не из блажи, а из многолетнего опыта и было бы глупо его отметать, пытаясь изобрести велосипед.

#33 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 17 Ноябрь 2021 - 15:06

В продакшЫн Вэл, в продакшЫн !)))

#34 Пользователь офлайн   Silencio Muerto 

  • self
  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 1 035
  • Регистрация: 28 Июль 10
  • Город:Saint-Petersburg

Отправлено 17 Ноябрь 2021 - 15:10

Просмотр сообщенияxfate (17 Ноябрь 2021 - 15:06) писал:

В продакшЫн Вэл, в продакшЫн !)))

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

#35 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 17 Ноябрь 2021 - 15:16

Код весь Открыт...........

Посмотрите, посоветуетесь со спецами, примите решение, Потом !)
А пока тот обещанный целевой код...

//В topicViewTemplate ищем setPostHidden - однозначно находит место скрипта

<if test="initIgnoredPost:|:$post['post']['_repignored'] == 1 || $post['post']['_ignored']">
    <script type='text/javascript'>
        ipb.topic.setPostHidden( {$post['post']['pid']} );
        $('unhide_post_{$post['post']['pid']}').show();
        
        // моя вставка... - начало
        // пока что "заглушка" - условие на чистку следов
        if(1)
        {
            var id_select = 'post_id_' + {$post['post']['pid']}
            var elem = document.getElementById(id_select)
            elem.style.display = 'none'
        }
        // моя вставка... - конец

    </script>
</if>


#36 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 17 Ноябрь 2021 - 15:57

Просто немножко не пойму ситуэйшн - вроде как все на "свободных началах" и полном энтузиазме.
Я Не рассчитываю что мой мод будет Внедрен - если да то Хорошо, если Нет так нет.

Отдам мод с инструкцией - а там как хочешь - функционал основной тем не менее получается.....
Это нельзя НЕ заметить....

Сейчас скрин дам...

Изображение

Изображение

Просмотр сообщенияSilencio Muerto (17 Ноябрь 2021 - 11:30) писал:

Люди - твой конечный пользователь. И объяснять людям нужно так, чтобы даже бабушка с соседний улицы поняла, о чём идёт речь.

В том и дело чтобы Не объяснять, а было интуитивно Понятно - этого и пытаюсь добиться.

З.Ы. Решение конечное за тобой естественно и никаких предъяв в твой адрес от меня Не будет если Забракуешь / Забракуете...

З.Ы.Ы. Я знаю что там зависимости, несколько состояний вида и т.д.....
Мобильный вид также...

Сообщение отредактировал xfate: 17 Ноябрь 2021 - 15:59


#37 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 17 Ноябрь 2021 - 16:31

Опа - отличная удобная таблица ignored_users - "инвижиновцы" продумывали все таки архитектуру БД...
Она то нам и нужна....

Изображение

Если юзер в лич. тер. == topic_starter, то выборка по ignore_owner_id

Просмотр сообщенияxfate (10 Ноябрь 2021 - 20:52) писал:

Изображение

Есть еще в members поле - наверное от туда все таки лучше на запись / чтение...
С первого приближения там сериализация / десериализация данных.

Так будет все же быстрее всего - минимальное время на Запрос к БД

#38 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 17 Ноябрь 2021 - 16:44

добавка

s:[20]:"ignore_topics_cutter";s:1:"[0 или 1]";


теперь найти форму в шаблонах которая делает запись в БД

тут начинается самый звиздец....... )

И какую вообще Таблицу пользует при отработке игнор пользователей....
Тоже надо разобраться...

Сейчас на Чтение и Отображение в 1ую очередь - откуда берутся данные чтобы согласно Логике движка

Проблема поиска может заключаться в том что Данные читаются в каком то другом месте, потом "опрокидываются" в другие переменные.

Строку "ignore_ignore_id" надо отследить по шаблонам.

Сообщение отредактировал xfate: 17 Ноябрь 2021 - 16:45


#39 Пользователь офлайн   Silencio Muerto 

  • self
  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 1 035
  • Регистрация: 28 Июль 10
  • Город:Saint-Petersburg

Отправлено 17 Ноябрь 2021 - 16:44

Просмотр сообщенияxfate (17 Ноябрь 2021 - 15:57) писал:

Просто немножко не пойму ситуэйшн - вроде как все на "свободных началах" и полном энтузиазме.

В том и дело чтобы Не объяснять, а было интуитивно Понятно - этого и пытаюсь добиться.

Объясняю. Первое, с чего следовало начать, это с описания собственно той модификации, которую ты хотел сделать. Что, зачем, для чего, для кого.
Интуитивно понятными должны быть действия в интерфейсе. Описательная часть при этом должна быть обязательной.
Я понимаю, что у тебя нет опыта работы с конечным пользователем, нет опыта работы с заказчиком, но поверь, что ничего не должно оставаться "очевидным" только у тебя в голове. В ином случае никто и никогда не будет воспринимать тебя и твою работу всерьёз. И неважно, делается ли она за деньги или на "свободных началах".
Системный подход позволит тебе самому структурировать свои знания и навыки. Любая идея, претендующая на существование, должна получить оболочку, чтобы набор символов превратился в завершённую информационную структуру, а не была похожа на бессистемно разбросанный мусор.

#40 Пользователь офлайн   xfate 

  • Перейти к блогу
  • Группа: Постоянные участники
  • Сообщений: 4 765
  • Регистрация: 06 Февраль 10

Отправлено 17 Ноябрь 2021 - 17:24

Что-то не в ту степь, ладно Не переживай - ничего Не нужно менять.
На этом все походу.

Поделиться темой:


  • 5 Страниц +
  • 1
  • 2
  • 3
  • 4
  • Последняя »


Быстрый ответ

Ваше сообщение должно пройти проверку модератора, прежде чем оно будет доступно остальным пользователям.
  

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей