Jump to content

Кнопки в категориях Downloads

Featured Replies

Ребят, может кто подскажет, как реализовать такую штуку, чтобы для определенной категории в Downloads название кнопки Скачать было своё? Допустим, у меня есть 2 главные категории: Плагины и Файлы

Вот для категории Плагины мне нужно, чтобы на кнопке Скачать было написано Установить плагин, а для категории Файлы нужно, чтобы было написано Дублировать файл.

Соответственно, чтобы и в подкатегориях кнопка была от родителя.

Может даже, в идеале, можно сделать возможность прописывать текст для кнопки при добавлении файла в Downloads? :) 

Заранее благодарен за помощь и наводки)

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/
Share on other sites
9 минут назад, Elhombre сказал:

Ребят, может кто подскажет, как реализовать такую штуку, чтобы для определенной категории в Downloads название кнопки Скачать было своё? Допустим, у меня есть 2 главные категории: Плагины и Файлы

Вот для категории Плагины мне нужно, чтобы на кнопке Скачать было написано Установить плагин, а для категории Файлы нужно, чтобы было написано Дублировать файл.

Соответственно, чтобы и в подкатегориях кнопка была от родителя.

Может даже, в идеале, можно сделать возможность прописывать текст для кнопки при добавлении файла в Downloads? :) 

Заранее благодарен за помощь и наводки)

Если я правильно понял, то просто на просто, делаешь 2 ключа под слова, можешь добавить через тему,  и указать путь.

Взять простой пример тема: Fluent Design Theme Edition, там на левие предложение и плагина, стоят свои ключи и направление на них... ну я думаю вы суть поняли) 

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165665
Share on other sites

AnWey честно говоря ничего не понял, можно по подробнее?)

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165669
Share on other sites
7 часов назад, Elhombre сказал:

честно говоря ничего не понял

он имеет в виду ключи слов перевода. к примеру находишь нужную кнопку. меняешь на ней ключ перевода и ставишь по этому ключу свой уже перевод.

вроде как то так 🙄

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165671
Share on other sites
28 минут назад, SlawkA сказал:

он имеет в виду ключи слов перевода. к примеру находишь нужную кнопку. меняешь на ней ключ перевода и ставишь по этому ключу свой уже перевод.

вроде как то так 🙄

Так точно! 

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165672
Share on other sites

Если учесть, что темплейт для всех один, то просто смена названия ничего не даст, надо добавить в шаблон логику. Например в шаблоне view-downloadButton

{{if $file->container()->id === 1}}
		{lang="button_plugin"}
{{elseif $file->container()->id === 2}}
		{lang="button_application"}
{{endif}}

вместо {lang="download_now"}. Естественно, поставить свои ID категорий.

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165675
Share on other sites

Desti вот да, именно это и надо, с логикой. Спасибо, сейчас попробую

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165680
Share on other sites
2 часа назад, Desti сказал:

Если учесть, что темплейт для всех один, то просто смена названия ничего не даст, надо добавить в шаблон логику. Например в шаблоне view-downloadButton


{{if $file->container()->id === 1}}
		{lang="button_plugin"}
{{elseif $file->container()->id === 2}}
		{lang="button_application"}
{{endif}}

вместо {lang="download_now"}. Естественно, поставить свои ID категорий.

Добавил всё и прописал, но не работает почему-то, не отображает значение

Вот получается по итогу код шаблона downloadButton

<li>
	{{if !$file->canDownload() AND !( !$file->container()->can( 'download' ) AND $file->container()->message('npd') )}}
		{{if !\IPS\Member::loggedIn()->member_id}}
			<span class="ipsType_light ipsType_blendLinks ipsResponsive_hidePhone ipsResponsive_inline"><i class="fa fa-info-circle"></i> {lang="download_no_permission_guest"}</span>
			<a href='{url="app=core&module=system&controller=login" seoTemplate="login"}' class='ipsButton ipsButton_light ipsButton_medium ipsButton_fullWidth ipsSpacer_top'>{lang="sign_in_short"}</a>
		{{else}}
			<span class="ipsType_light ipsType_blendLinks ipsResponsive_hidePhone ipsResponsive_inline"><i class="fa fa-info-circle"></i> {lang="download_no_permission"}</span>
		{{endif}}
	{{else}}
		<a target='_blank' href='{{if settings.idm_antileech}}{$file->url('download')->csrf()}{{else}}{$file->url('download')}{{endif}}' class='ipsButton ipsButton_fullWidth ipsButton_large ipsButton_important' {{if $file->container()->message('disclaimer') or \count( $file->files() ) > 1 or ( member.group['idm_wait_period'] AND ( !$file->isPaid() OR member.group['idm_paid_restrictions'] ) )}}data-ipsDialog{{endif}}>
          	{{if $file->container()->id === 28}}
				{lang="button_plugin"}
			{{elseif $file->container()->id === 12}}
				{lang="button_application"}
			{{endif}}
  		</a>
	{{endif}}
</li>

 

Может быть потому, что ключи привязались к компоненту Система, а не Downloads?

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165686
Share on other sites

Ну попробуйте вместо {lang=} прописать слова Скачать плагин и Скачать приложение, будет понятно, в чем проблема. 

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165687
Share on other sites
1 минуту назад, Desti сказал:

Ну попробуйте вместо {lang=} прописать слова Скачать плагин и Скачать приложение, будет понятно, в чем проблема. 

Всё, сейчас получилось. С главной категорией не работает. Нужно указывать корневую, соответственно нужно указать все подкатегории. Их в коде надо через запятую? Как правильно?

Так?

{{if $file->container()->id === 4,5,6}}
				{lang="button_plugin"}
			{{elseif $file->container()->id === 12,13,14}}
				{lang="button_application"}
			{{endif}}

 

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165688
Share on other sites
{{if $file->container()->id === 4 OR $file->container()->id === 5 OR $file->container()->id === 6}}

или 

{{if \in_array($file->container()->id, array(4,5,6)) }}

 

Edited by Desti

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165690
Share on other sites
9 минут назад, Desti сказал:

{{if $file->container()->id === 4 OR $file->container()->id === 5 OR $file->container()->id === 6}}

или 


{{if \in_array($file->container()->id, array(4,5,6)) }}

 

Вот прям ТОП 🔥

Спасибо тебе огромнейшее!!! :) 

Всё заработало так, как надо

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165691
Share on other sites

Desti есть ещё вопрос на засыпку :)

А если мне нужно для некоторых файлов из этих категорий сделать так же отдельную кнопку, можно как-то по ID файла так же прописать, как для категорий?

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165697
Share on other sites

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

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165699
Share on other sites

Desti понял, а если все-таки на уровне шаблона? 😃

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165706
Share on other sites

Ровно так же..

{{if $file->id === 754}}{lang="Ура!"}{{endif}}

А если нужно показывать другую кнопку на остальные файлы, то

{{if $file->id === 754}}
  {lang="Ура!"}
{{elseif }}
   {lang="Мура!"}
{{endif}}

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165707
Share on other sites

Desti видимо криворукий и что-то делаю не так?))

{{if \in_array($file->container()->id, array(3,4,5,6,7,8,9,10,11))}}
	{lang="button_plugin"}
{{elseif \in_array($file->container()->id, array(13,14,15,16))}}
	{lang="button_application"}
{{else}}
{{if \in_array($file->id, array(31,32))}}
	{lang="download_now"}
{{endif}}

Почему первые 2 условия не встают в FALSE, все в TRUE и выводится весь текст соответственно в кнопке.

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165716
Share on other sites

Есть простая затычка для проверки:

{{var_dump("Container: ", $file->container()->id, "File: ", $file->id); die;}}

Но возможно не хватает еще одного {{endif}} в конце.

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165717
Share on other sites

Desti вообще всё поломал 🤦‍♂️   руки из одного места у меня растут просто)

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165718
Share on other sites

На будущее - можно скопировать своё содержимое в файлик и восстановить оригинальный темплейт. Начать с начала :)

И условия у вас не так стоят. Сначала надо проверить на id файла и только потом на id категории. Иначе категория всегда будет перебивать файл. 
 

Что-то типа 

{{if \in_array($file->id, array(3,2))}}
    {lang="download_now"}
{{else}}          
    {{if \in_array($file->container()->id, array(1,3,4,5,6,7,8,9,10,11))}}
        {lang="button_plugin"}
    {{elseif \in_array($file->container()->id, array(13,14,15,16))}}
        {lang="button_application"}
    {{endif}}
{{endif}}  

    

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165719
Share on other sites
17 минут назад, Desti сказал:

На будущее - можно скопировать своё содержимое в файлик и восстановить оригинальный темплейт. Начать с начала :)

Само собой, всегда делаю копии перед правками, и чаще тупо даже бекапы целиком :)

18 минут назад, Desti сказал:

Что-то типа 


 

Вот это именно то, что нужно получилось 🔥.  думал об этом, что сначала проверка файла, но не знаю даже, почему не попробовал так сделать сам🤣

Ещё раз огромное и человеческое спасибо за результат!

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165721
Share on other sites
7 минут назад, Elhombre сказал:

почему не попробовал так сделать сам

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

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

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165723
Share on other sites

Desti а вот за лайфхак благодарю, так реально проще))

Link to comment
https://ipbmafia.ru/topic/22654-knopki-v-kategoriyah-downloads/?&do=findComment&comment=165724
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.