<thumb status=pool

Post Reply
rembo1978
Posts: 540
Joined: Thu Jul 26, 2012 5:12 am

<thumb status=pool

Post by rembo1978 »

Здравствуйте.
Мне надо вывести тумбы, которые находятся в Inactive или pool.
Зачем ?
Пример.
Много галер попало одновременно в inactive и гугл поиск, надо их не деактивировать, а перевести mark as hidden gallery
Хочу вывести их на отдельном темплейте и скармливать Sets (mark as hidden gallery) при этом можно задать вместо ембед темплейте другой с похожими галерами.
Это на счёт inactive.

Также с pool. Например переводы альтов для галер, которые ещё не активные, проще вывести их на странице и сделать перевод всей страницы.
Можно добавить в <thumb таг например status и выводить status=pool,inactive и тд.

P.S. В rot_sponsors или List thumbs неплохо было бы посмотреть сколько тумб в mark as hidden gallery.
Спасибо.
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: <thumb status=pool

Post by admin »

Приветствую!
добавил в ап как

<thumb gallery_status=inactive ...
Don't forget to run script update
rembo1978
Posts: 540
Joined: Thu Jul 26, 2012 5:12 am

Re: <thumb status=pool

Post by rembo1978 »

Хотел галеры, которые в inactive перевести в mark as Hidden Gallery через Sets, но не получается.
В /scj/admin/?operation=rotation&sub=rot_sponsors нет графы Mask as hidden gallery, по ходу нет возможности посмотреть сколько галер в Hidden.
Не знаю как сделать, чтобы галеры с Inactive попадали в Mask as Hidden.
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: <thumb status=pool

Post by admin »

"mark as Hidden Galler"

по идее осталось в версии 1

а где оно есть в версии 2?
Don't forget to run script update
GhostUser
Posts: 47
Joined: Thu Mar 25, 2021 10:30 pm

Re: <thumb status=pool

Post by GhostUser »

admin wrote: Thu Mar 04, 2021 6:47 am добавил в ап как
<thumb gallery_status=inactive ...
кстати, вот щас глянул в wiki, этого параметра нет нигде... я к чему в общем: имхо, wiki не соответствует последним апам самого скрипта. в этой связи предложение: добавить некий параметр в query string по которому просто дампится список всех тэгов и их параметров (т.е. скрипт знает какие у него есть тэги и их праметры, возможно может "пройтись" по их именам и просто вывести сами названия, а дальше по смыслу будет понятно уже). естественно, я не знаю как у вас реализовано это всё на программном уровне, но предполагаю, что есть какие-то конвенции по наименованию откуда движек загружает все эти тэги, и так же может получить их список и т.д. если нет - то может быть имеет смысл добавить что-то подобное? обновили скрипт, и сразу по флагу ?list_tags в урле увидели чё там нового...

в выводе просто так как-то:
<thumb>: num, sponsor, category, ...

дальше ищем в wiki или спрашиваем на форуме по конкретному тагу.

зы: кстати, что как правильно называется: <thumb> - это таг или макрос. num в этом таге - это что - параметр? <!--CATEGORY--> - тоже таг? в wiki это всё называется тагами, но я где-то встречал и название "максрос". просто для ясности в наименовании интересуюсь.
Last edited by GhostUser on Thu Mar 25, 2021 11:11 pm, edited 3 times in total.
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: <thumb status=pool

Post by admin »

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

прямо сейчас как думаю ясно такого нет, поэтому если чего-то не хватает - лучше дописать в вики.
по <thumb для простоты предлагаю так и решить, <thumb - это макрос, num паарметр макроса, <!--THUMB_URL--> - таг

далее буду придерживаться этого варианта
Don't forget to run script update
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: <thumb status=pool

Post by admin »

Don't forget to run script update
GhostUser
Posts: 47
Joined: Thu Mar 25, 2021 10:30 pm

Re: <thumb status=pool

Post by GhostUser »

admin wrote: Fri Mar 26, 2021 6:39 am как называется паттерн в програмировании который умеет так делать?
ну здесь не паттерн, точнее набор паттернов мог бы помочь в самом начале при проектировании архитектуры смарта (или полном рефакторинге этой и затрагивающихся частей), а сейчас - это всё-равно переписывать всё.

здесь скорее рефлексия (более простые варианты) + знание как устроен смарт на уровне сырцов, что есть только у вас ;) но как бы я лично делал:

все макросы лежат только в одной директории (macroses) каждый макрос - отдельная директория с главным файлом-загрузчиком этого макроса (например по имени это макроса: macroses/thumb/thumb.php), вложенной папкой с поддерживаемым им параметрами (macroses/thumb/params/num.php, macroses/thumb/params/order.php) и прочими расширениями.

при старте ядро смарта сканит директорию макросов, загружает главный файл каждого макроса, который в свою очередь загружает свои параметры (он знает как их создавать и инициализировать).

так же, каждый макрос наследует от некоего абстрактного класса для всех макросов, который собсна:
- реализует все эти загрузки, проверки, инициализации, а конкретные инстансы отдельных макросов уже переопределяют для себя что-либо
- композицию функционала макроса общими параметрами (например order, sort etc - вполне себе общие параметры, значения для которых будут передаваться в конкретных унаследованных классах)

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

т.е. на данном этапе получается следующая композиция паттернов:
- Abstract Factory (мы создаём семейство объектов которыми являются макросы)
- Factory Method (это набор конкретных абстрактых методов загрузок/создания параметров макросов и их переопределение)
- Builder (та часть, которая строить составной объект являющийся собранным макросом и возвращает обратно в ядро)
- Singleton (скорее-всего как статические билдеры которые достаются из Repository/Service Locator)
- Iterator (наверное для абстракции при навигации по конструируемым макросам как по колекции)
- Composite (все объекты макросов - это компосайты из объектов параметров)
- Flyweight (если компосайты-макросы будут синглтонами, что в принципе оправдано, и будут выносить свой State для каждого разного инстанса, где встерчаются)
- Chain of Responsibility, где каждый Filter это Strategy + Command + Decorator или (это именно выполнение каждого макроса с последующей передачей результата по цепочке параметров макроса) а так же Pre & Post действия позволяющие как-то дополнительно обрабатывать результат работы каждого макроса

ну блин и наверное большенство из остальных GoF, P of EAA и т.д. ;) здесь вообще всё от выбираемой стратегии реализации меняющейся на каждой новой итерации зависеть будет.

но в общем разнесение по директориям этого всего просто даёт возможность сразу получить список всего что есть "на борту" просто просканив папку с макросами (это без выделения документации там из комментов сразу в wiki и т.д.)

---

так же можно шифтнуться в сторону Event-Driver архитектуры, типа как в WP, а именно - концепция actions & filters

---

но ясен, это менять всё, а ради просто получения списка всех макросов с поддерживаемыми ими параметрами после очередного апдейда - так замарачиваться, разумеется лишнее, так что проехали ;)
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: <thumb status=pool

Post by admin »

Что-то мне кажется все это значительно уронит производительность ..

Но в целом да, надо решать вопрос конкретный , а именно дока в тагами, это нанмого продуктивнее чем переписывать кучу кода))
Don't forget to run script update
Post Reply