доступ к ява скрипту только для пользователей с группы "Гост
- Предыдущая
- 1
- 2
- 3
- Следующая
- Показаны 16-30 из 33
С предыдущих рекомендаций у меня ничего не получилось, или туплю или что-то не так. Авторам большое спасибо!
Объясню подробно, надо в com_content_read.tpl и com_content_view.tpl вставить Google Adsense без модулей и видимый только для гостей.
components/content/fronted.php
после
cmsPage::initTemplate('components', $template)->
cmsPage::initTemplate('components', $article['tpl'])->
то естьКод PHP:
assign('is_auth', $inUser->id)->
assign('is_auth', $inUser->id)->
в файлах шаблона com_content_view.tpl и com_content_read.tpl в нужных местах вставить
{if $is_auth}
{else}
{/if}
точно не помню но если вы используете асинхронный код адсенс то там кажется в начале его нужно добавить {literal}
а в конце {/literal} иначе при вставке его в tpl файл, страница со статьей не будет открываться.
По идее это не должно зависеть от шаблона…Пробовала, но у меня шаблон не дефолтный и что-то не срабатывает такой метод.
Попробуйте проверить совет от Нила с вставкой либо исходного кода, либо вызов файла из includes/myphp предварительно закинув файл туда)
Проверять желательно с простым текстом… просто напишите в модуле любое слово или в вызываемом файле и настройте вывод модуля только гостям — если работать не будет (хотя должно), то следующее точно должно работать, то что посоветовал Fuze:
в индексном файле добавление вызова файла в хедер (это для проверки)
<?php if (!$inUser->id) { $inPage->addHeadJS('path/to/js_file.js'); } ?>
<?php if (!$inUser->id) { ?> Проверочный текст - если видно то меняем на скрипт в формате <script>...</script> <?php } ?>
ps: Кстати, это
и этонадо в com_content_read.tpl и com_content_view.tpl вставить Google Adsense
Немного разные вопросы…Мне надо сделать доступ к ява скрипту только для пользователей с группы "Гость"
Просто показать скрипт гостям и показать блок гостям на определенных страницах, реализуется по разному, поэтому у вас ничего и не получалось — вопросы нужно задавать полностью и четко!)
1)
components/content/fronted.php
после
Код PHP:
cmsPage::initTemplate('components', $template)->
и после
Код PHP:
cmsPage::initTemplate('components', $article['tpl'])->
Нет таких строк кода. у меня версия 1.10.1.
Если без изменений Нила, то показывает и для зарегистрированных и для гостей
<?php if (!$inUser->id) { ?>
Проверочный текст — если видно то меняем на скрипт в формате <script>...</script>
<?php } ?>
Это я сделалаточно не помню но если вы используете асинхронный код адсенс то там кажется в начале его нужно добавить {literal}
а в конце {/literal} иначе при вставке его в tpl файл, страница со статьей не будет открываться.
Нет таких строк кода. у меня версия 1.10.1.
после
$smarty = $inCore->initSmarty('components', $template);
$smarty = $inCore->initSmarty('components', $article['tpl']);
$smarty->assign('is_auth', $inUser->id);
модульную позицию
{php}cmsModule('adsense'){/php}
adsense
синхронный код адсенсе в модулях через источник нормально показывается
Но еще проблемка если я закидываю в модуль через вставку внешнего скрипта. Создала файл php и вставила в этот файл код Adsense. Установила доступ только для гостей, но показывает для всех. Наверное проблема в шаблоне, но как это можно сделать в самом файле что я создала? По посту 21 не получилось
Вот код файла
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- 250x250 --> <ins class="adsbygoogle" style="display:inline-block;width:250px;height:250px" data-ad-client="ca-pub-2008229019214043" data-ad-slot="8644456611"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>
если для вас это принципиально, в template.php найдите модульную позицию на которой вы хотите выводить модуль только для гостей.
если это maintop то после
<?php $inPage->printModules('maintop'); ?>
<?php if (!$inUser->id){ ?> <?php $inPage->printModules('maintop2'); ?> <?php } ?>
Спасибо
Но надо скрыть и для админа. Тоесть показывать только гостям.
- Предыдущая
- 1
- 2
- 3
- Следующая
- Показаны 16-30 из 33