Jump to content

  • You cannot start a new topic
  • You cannot reply to this topic

Скрыть Или Показать Блок Rate Topic   - - - - -

 
  • densvi
  • Senior Member
  • Members
  • Join Date: 03-Apr 14
  • 585 posts

Posted 17 November 2015 - 10:25 AM #1

Подскажите, Как можно в зависимости от определенного условия (в php и в смарти) скрыть или показать определенный блок (видимо по его id) 



 
  • Alt-team
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 18-Jan 11
  • 2,477 posts

Posted 17 November 2015 - 10:43 AM #2

может лучше условие прописать в содержимом этого блока?


CS-Cart add-ons | CS-Cart development service | CS-Cart Design

GET A FREE QUOTE  | УЗНАТЬ СТОИМОСТЬ РАБОТЫ


 
  • densvi
  • Senior Member
  • Members
  • Join Date: 03-Apr 14
  • 585 posts

Posted 17 November 2015 - 10:49 AM #3

может лучше условие прописать в содержимом этого блока?

 

Это к примеру блоки баннеры, где там условия писать?



 
  • eComLabs
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 27-Jan 14
  • 16,128 posts

Posted 17 November 2015 - 10:52 AM #4

Создаете новую оболочку для блоков

 

design/themes/responsive/templates/blocks/wrappers/

 

Примерно с таким контентом:

{$content|default:" " nofilter}

В нее уже условия свои добавляете. Например,

{if $category_data && $category_data.catagory_id == 37}
{$content|default:" " nofilter}
{/if}

Могут всплыть проблемы с кешем, надо протестировать


GET A FREE QUOTE | CS-Cart Add-ons | CS-Cart Licenses | CS-Cart Development | CS-Cart Design | Server Configuration

Certified CS-Cart RU Developer | Сертифицированный разработчик на CS-Cart Русская Версия

 
  • densvi
  • Senior Member
  • Members
  • Join Date: 03-Apr 14
  • 585 posts

Posted 17 November 2015 - 11:32 AM #5

ОК, спасибо. Сейчас буду пробовать. 

 

Не подскажет как заменить баннер? т.е. при условии показывать разные баннеры?



 
  • oleg.gorshkov
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 06-Dec 13
  • 2,438 posts

Posted 17 November 2015 - 11:36 AM #6

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


Simtech Development | sales@simtechdev.com | www.simtechdev.com
CERTIFIED CS-CART PARTNER | LICENSES | DEVELOPMENT | ADD-ONS | DESIGN | UPGRADE
Testing by QA and personal manager for free.

 
  • densvi
  • Senior Member
  • Members
  • Join Date: 03-Apr 14
  • 585 posts

Posted 17 November 2015 - 11:43 AM #7

Задача в общем-то простая.

 

При заходе пользователя на сайт определяется его город по IP. Город сохраняется в сессии. Далее, в зависимости от этого города, нужно показать разные баннеры.



 
  • eComLabs
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 27-Jan 14
  • 16,128 posts

Posted 17 November 2015 - 11:57 AM #8

Задача в общем-то простая.

 

При заходе пользователя на сайт определяется его город по IP. Город сохраняется в сессии. Далее, в зависимости от этого города, нужно показать разные баннеры.

 

А сколько примерно наборов баннеров планируется? Под все регионы?


GET A FREE QUOTE | CS-Cart Add-ons | CS-Cart Licenses | CS-Cart Development | CS-Cart Design | Server Configuration

Certified CS-Cart RU Developer | Сертифицированный разработчик на CS-Cart Русская Версия

 
  • densvi
  • Senior Member
  • Members
  • Join Date: 03-Apr 14
  • 585 posts

Posted 17 November 2015 - 01:32 PM #9

В общем-то да, как минимум с десяток



 
  • eComLabs
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 27-Jan 14
  • 16,128 posts

Posted 17 November 2015 - 01:52 PM #10

В общем-то да, как минимум с десяток

 

Тогда лучше модификацию сделать - привязку баннера к городу в админке


GET A FREE QUOTE | CS-Cart Add-ons | CS-Cart Licenses | CS-Cart Development | CS-Cart Design | Server Configuration

Certified CS-Cart RU Developer | Сертифицированный разработчик на CS-Cart Русская Версия

 
  • densvi
  • Senior Member
  • Members
  • Join Date: 03-Apr 14
  • 585 posts

Posted 17 November 2015 - 02:07 PM #11

Тогда лучше модификацию сделать - привязку баннера к городу в админке

 

а можно ли подробнее... 

 

если просто указать в админке у баннера, что данный баннер показывается в таком-то городе, это не проблема сделать, но как показывать или не показывать этот самый баннер? Все равно ведь условие получается. Куда это условие писать?



 
  • densvi
  • Senior Member
  • Members
  • Join Date: 03-Apr 14
  • 585 posts

Posted 17 November 2015 - 02:10 PM #12

По мне так, по id баннера было наверное проще устанавливать его видимость или нет. В базе же навреняка хранится его видимость. В админке же можно вкл или выкл его. Неужели нельзя так же его и в php или смарти вкл и выкл ?



 
  • eComLabs
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 27-Jan 14
  • 16,128 posts

Posted 17 November 2015 - 02:48 PM #13

Если для вас не проблема сделать привязку, то останется только использовать хук get_banners (app/addons/banners/func.php) для того, чтобы добавить новое условие для выборки из базы баннеров по значению из сессии


GET A FREE QUOTE | CS-Cart Add-ons | CS-Cart Licenses | CS-Cart Development | CS-Cart Design | Server Configuration

Certified CS-Cart RU Developer | Сертифицированный разработчик на CS-Cart Русская Версия

 
  • densvi
  • Senior Member
  • Members
  • Join Date: 03-Apr 14
  • 585 posts

Posted 21 November 2015 - 12:34 PM #14

Все прекрасно сделал. В настройках баннера сделал поле для указания города. А в хуке  get_banners_post убираю лишние баннеры.

 

Но вот проблема - ни как не могу обновить блок баннеров после выбора города. 

Почему то не понимается подстановка переменной в id div для аякса. Ставлю просто число - все работает, ставлю переменную - аякс не обновляет. Мистика



 
  • eComLabs
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 27-Jan 14
  • 16,128 posts

Posted 23 November 2015 - 08:24 AM #15

Почему то не понимается подстановка переменной в id div для аякса. Ставлю просто число - все работает, ставлю переменную - аякс не обновляет. Мистика

 

У вас точно не получается ситуации, когда при первоначальной загрузке  значение переменной одно, а аяксовый запрос возвращает код с другим значением? В этом случае обновление происходить не будет


GET A FREE QUOTE | CS-Cart Add-ons | CS-Cart Licenses | CS-Cart Development | CS-Cart Design | Server Configuration

Certified CS-Cart RU Developer | Сертифицированный разработчик на CS-Cart Русская Версия

 
  • oleg.gorshkov
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 06-Dec 13
  • 2,438 posts

Posted 23 November 2015 - 08:52 AM #16

У аяск-запроса есть поле result_ids. В нем перечисляются id элементов, которые должны быть обновлены в результате выполнения аякс-запроса. Добавьте в это поле id div-а, в котором отображаются баннеры. Например banner_slider*

div с такими id обязательно должны иметь закрывающий комментарий типа <!--id-->

Например

<div id='reload_me'>
[какое-то содержимое]
<!--reload_me--></div>

Simtech Development | sales@simtechdev.com | www.simtechdev.com
CERTIFIED CS-CART PARTNER | LICENSES | DEVELOPMENT | ADD-ONS | DESIGN | UPGRADE
Testing by QA and personal manager for free.

 
  • eComLabs
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 27-Jan 14
  • 16,128 posts

Posted 23 November 2015 - 09:54 AM #17

Еще была проблема доп. атрибутами у дива. Постарайтесь, чтобы див с id не содержал других атрибутов, типа class и тд


GET A FREE QUOTE | CS-Cart Add-ons | CS-Cart Licenses | CS-Cart Development | CS-Cart Design | Server Configuration

Certified CS-Cart RU Developer | Сертифицированный разработчик на CS-Cart Русская Версия

 
  • oleg.gorshkov
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 06-Dec 13
  • 2,438 posts

Posted 24 November 2015 - 09:01 AM #18

С атрибутами обычно проблем нет, а вот никаких символов между тегом --> и </div> быть точно не должно


Simtech Development | sales@simtechdev.com | www.simtechdev.com
CERTIFIED CS-CART PARTNER | LICENSES | DEVELOPMENT | ADD-ONS | DESIGN | UPGRADE
Testing by QA and personal manager for free.

 
  • eComLabs
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 27-Jan 14
  • 16,128 posts

Posted 24 November 2015 - 09:20 AM #19

С атрибутами обычно проблем нет, а вот никаких символов между тегом --> и </div> быть точно не должно

 

Я же не сам придумал, это все из практики


GET A FREE QUOTE | CS-Cart Add-ons | CS-Cart Licenses | CS-Cart Development | CS-Cart Design | Server Configuration

Certified CS-Cart RU Developer | Сертифицированный разработчик на CS-Cart Русская Версия

 

Posted 03 March 2016 - 10:56 AM #20

Еще была проблема доп. атрибутами у дива. Постарайтесь, чтобы див с id не содержал других атрибутов, типа class и тд

Подтверждаю, такая же ситуация, пока не удалил класс у div не обновлялся по ajax.


Certified CS-Cart RU Developer | Сертифицированный разработчик на CS-Cart Русская Версия

 

https://developstores.com | skype developstores