0 Пользователей и 1 Гость просматривают эту тему.
  • 700 Ответов
  • 251132 Просмотров
*

Phoenix89

  • Новичок
  • 5
  • 0 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #360 : 20.08.2011, 21:32:53 »
Добрый день. С Joomla не так давно работаю, поэтому прошу помощи.
Есть ли возможность вообще отвязаться от ItemID?
А то сейчас есть несколько меню, и ссылки соотв. ведут на 1 и тот же блог, но из-за этого ItemID отображаются по разному.
Проект достался от другого программиста, поэтому не оч. пойму...
Или, если не отвязываться от ItemID, то как проверить, что подключается в блоге категории при переходах с различных ItemID.
*

TakT

  • Захожу иногда
  • 124
  • 8 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #361 : 20.08.2011, 22:30:05 »
А то сейчас есть несколько меню, и ссылки соотв. ведут на 1 и тот же блог, но из-за этого ItemID отображаются по разному.

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

Phoenix89

  • Новичок
  • 5
  • 0 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #362 : 21.08.2011, 00:28:05 »
отображаются по разному? ну а что мешает настроить отображение ссылки в менеджере меню?
Не совсем получается.
Вот смотрите, есть меню на странице с определённым ID.
Есть материалы, которые не относятся ни к какому меню, но отображаются на странице, и ведут на блог материала.
Соотв. ссылка этих материалов формируется таким образом, что ItemID, которое добавляется в конце у них равно ID этого меню на странице.
Что категорически нельзя. Необходимо, чтобы добавлялось ItemID, равное ID материала.

Объясню почему этого не происходит:

Есть компонент com_content.
В его route.php получение ссылки article происходит в getArticleRoute() с получение искомого item в $item = ContentHelperRoute::_findItem($needles);
НО!
При передаче в качестве массива $needles скажем такой массив:
$needles = array(
         'article'  => (int) $id,
         'category' => (int) $catid,
         'section'  => (int) $sectionid,
      );
Где $id - реально существующий в базе id какого-либо article, а $catid - id категории, я получаю, что article не находится,
и возвращается первый попавшийся ItemID, найденный в категории с $catid(в данном случае это id этого меню на странице).

*

Phoenix89

  • Новичок
  • 5
  • 0 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #363 : 21.08.2011, 00:40:12 »
В качестве решения я придумал только создать отдельно меню, и добавлять в него материалы как шаблон отображения материала.(Меню не отображать) Тогда ItemID возвращается правильный.

Но это как-то через жопу. Неужели нельзя по-другому? Материалы обязательно должны быть в меню что ли?
*

TakT

  • Захожу иногда
  • 124
  • 8 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #364 : 21.08.2011, 09:16:29 »
Соотв. ссылка этих материалов формируется таким образом, что ItemID, которое добавляется в конце у них равно ID этого меню на странице.
Что категорически нельзя

почему вы решили что Itemid и id должны быть не пременно разными?? В том что они одинаковые нет ни чего страшного, это простое совпадение!
*

Phoenix89

  • Новичок
  • 5
  • 0 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #365 : 21.08.2011, 11:51:43 »
почему вы решили что Itemid и id должны быть не пременно разными?? В том что они одинаковые нет ни чего страшного, это простое совпадение!
Потому что из-за этого отображение совершено неверное.
*

TakT

  • Захожу иногда
  • 124
  • 8 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #366 : 21.08.2011, 11:59:47 »
Потому что из-за этого отображение совершено неверное.

Нет, совпадающие id и Itemid ни как не влияют на отображение, они ни как не могут конфликтовать!

капайте в админке, в менеджере меню,  там есть все настройки отображения материала при выводе.

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

Phoenix89

  • Новичок
  • 5
  • 0 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #367 : 21.08.2011, 12:40:57 »
Нет, совпадающие id и Itemid ни как не влияют на отображение, они ни как не могут конфликтовать!

капайте в админке, в менеджере меню,  там есть все настройки отображения материала при выводе.

Вы новые меню которые ведут на теже материалы каким образом создавали? попробуйте просто скопировать все ссылки из "рабочего меню" в новое, чтобы не терять настроек.
Вы не поняли:)
ItemID полностью влияет на отображение.
Просто в Joomla пока какой-либо материал не добавишь в меню он не вернётся как материал с опред. id(которое используется далее в качестве ItemID). А почему так происходит я выше с примерами кода описал. Другой вопрос почему так сделали - мне не понятно.
*

TakT

  • Захожу иногда
  • 124
  • 8 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #368 : 21.08.2011, 12:49:45 »
вы неправильно строите логику
Цитировать
id(которое используется далее в качестве ItemID)

id - это идентификатор статьи(в данном случае)
Itemid - это идентификатор пункта меню(проще говоря id пункта меню)

id статьи ни как не влияет на Itemid, у каждого из них свои роли, кароче говоря, id, далее не используется в качестве Itemid

ЗЫ: если вам нужно вывести одни и те же пункты меню в разные позиции, не нунжно создавать еще одно точно такое же меню, прсто создайте модуль "Меню" и выведите его еще раз в нужной позиции!
*

mstr

  • Захожу иногда
  • 62
  • 1 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #369 : 22.08.2011, 13:18:54 »
Блин! Два дня читал эту тему. Всё вышесказанное перепробовал. Не помогает(((
У меня на главной VirtueMart и над ним две позиции для модулей. На главной они есть, на всех остальных нету. Скрывались они методом "универсальная проверка на главную" из первого сообщения темы. И всё прекрасно работало, пока вчера не поставил sh404SEF. Теперь позиции, которые нужно скрыть показываются во всём Virtemart и два дня не могу побороть(((
Advanced Module Manager тоже пробовал, выставляю у самих модулей привязку только к пункту меню "Главная", результата ноль(((
Подскажите, как правильно скрыть позиции эти? Или может нужно в Advanced Module Manager какие-то другие правила прописать? Или с SEF что-то подшаманить?
*

andx

  • Захожу иногда
  • 111
  • 6 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #370 : 25.08.2011, 17:14:29 »
Помогите пожалуйста, не пойму почему не работает конструкция, сайт вообще не грузится. Моя цель - чтобы на некоторых страницах вирта не отображался див cart-news:
Код
<?php if ( $option=='com_virtuemart' && ! in_array( $page, array('checkout.index','shop.cart','account.order_details','shop.browse','checkout.thankyou','shop.product_details') ) {?>
        <div id="content1_wide">
          <div id="upmenu">
            <jdoc:include type="modules" name="menu" style="none" />
          </div>
          <div id="content_wide">
         
          <div id="bread">
            <jdoc:include type="modules" name="breadcrumb" />
            </div>
            <jdoc:include type="message" />           
            <jdoc:include type="component" />
            <jdoc:include type="modules" name="user6" style="none" />
            <div class="contentpaneopen"><jdoc:include type="modules" name="user8" style="none" />
            </div>
          </div>
        </div>
<?php else: ?>
        <div id="content1">
          <div id="upmenu">
            <jdoc:include type="modules" name="menu" style="none" />
          </div>
          <div id="content">
         
          <div id="bread">
            <jdoc:include type="modules" name="breadcrumb" />
            </div>
            <jdoc:include type="message" />           
            <jdoc:include type="component" />
            <jdoc:include type="modules" name="user6" style="none" />
            <div class="contentpaneopen"><jdoc:include type="modules" name="user8" style="none" />
            </div>
          </div>
        </div>
        <div id="cart-news">
          <div id="searchp">
            <jdoc:include type="modules" name="user4" style="none" />
          </div>
          <div id="shpcart">
            <jdoc:include type="modules" name="user5" style="none" />
          </div>
        </div>
<?php endif; ?>
Начало Света 2012!
*

TakT

  • Захожу иногда
  • 124
  • 8 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #371 : 25.08.2011, 17:58:49 »
Во-первых:

Код
<?php if ( $option=='com_virtuemart' && ! in_array( $page, array('checkout.index','shop.cart','account.order_details','shop.browse','checkout.thankyou','shop.product_details') ) { ?>

если открыл условие спомощью фигурной скобки '{', закрывать следует соответсвенно '}'

Во-вторых, если ты хочешь выводить на нужных тебе страницах див cart-news,то нужно именно его брать в условие, а не все тело шаблона.

В-третьих, я не знаю на сколько верна запись

Код
in_array( $page, array('checkout.index','shop.cart','account.order_details','shop.browse','checkout.thankyou','shop.product_details')

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

Код
<?php if ($option=='com_virtuemart' and $view == 'страница на которой нужно отображать этот блок(в одинарных кавычках)') { ?>
        <div id="cart-news">
          <div id="searchp">
            <jdoc:include type="modules" name="user4" style="none" />
          </div>
          <div id="shpcart">
            <jdoc:include type="modules" name="user5" style="none" />
          </div>
        </div>
<? } ?>

ну и на последок весь код целиком:

Код
        <div id="content1">
          <div id="upmenu">
            <jdoc:include type="modules" name="menu" style="none" />
          </div>
          <div id="content">
          <div id="bread">
            <jdoc:include type="modules" name="breadcrumb" />
            </div>
            <jdoc:include type="message" />           
            <jdoc:include type="component" />
            <jdoc:include type="modules" name="user6" style="none" />
            <div class="contentpaneopen"><jdoc:include type="modules" name="user8" style="none" />
            </div>
          </div>
        </div>
<?php if ($option=='com_virtuemart' and $view == 'shop.browse') { ?>
        <div id="cart-news">
          <div id="searchp">
            <jdoc:include type="modules" name="user4" style="none" />
          </div>
          <div id="shpcart">
            <jdoc:include type="modules" name="user5" style="none" />
          </div>
        </div>
<? } ?>
*

andx

  • Захожу иногда
  • 111
  • 6 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #372 : 26.08.2011, 10:00:27 »
TakT
спасибо, я в РНР нуб совсем :-//. У меня наоборот условие НЕ ВЫВОДИТЬ, причём от этого меняется CSS стиль у родительских дивов (content_wide --> content), поэтому я и беру в конструкцию почти весь код. Может оно по-слоновьи конечно, но логику шаблона оттачивать нет времени, так что ваяю на том, что есть.
Скобку убрал, подскажите, кто знает, правильно ли так начать конструкцию, ато всёравно не работает, даже без скобки. Эту строчку я гдето на первых страницах топика подсмотрел:
Код
<?php if ( $option=='com_virtuemart' && ! in_array( $page, array('checkout.index','shop.cart','account.order_details','shop.browse','checkout.thankyou','shop.product_details') ) : ?>
« Последнее редактирование: 26.08.2011, 10:19:23 от andx »
Начало Света 2012!
*

TakT

  • Захожу иногда
  • 124
  • 8 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #373 : 26.08.2011, 10:39:01 »
ну если нужно не выводить то:

Цитировать
<?php if ($option=='com_virtuemart' and $view != 'shop.browse') { ?>

читается так: если текущий компонент равен Вирту и текущая вюьшка не равна странице shop.browse то выводим дива content-wide

перечислять страницы нужно так:

Цитировать
<?php if ($option=='com_virtuemart' and $view != 'shop.browse' and $view != 'checkout.index') : ?>

и так далее
*

andx

  • Захожу иногда
  • 111
  • 6 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #374 : 26.08.2011, 15:05:06 »
Спасибо, теперь хоть заработало... Вот токо применяет условие почемуто аж во всём Вирте, а не на отдельных его страницах, где надо. Код вот такой щас:
Код
<?php if ($option == 'com_virtuemart' and $view = 'checkout.index' and $view = 'shop.cart' and $view = 'account.order_details' and $view = 'checkout.thankyou') : ?>
        <div id="content1_wide">...</div>
<?php else: ?>
        <div id="content1">...</div>
<?php endif; ?>
такое ощущение, что части and $view = 'checkout.index' and $view = 'shop.cart' and $view = 'account.order_details' and $view = 'checkout.thankyou' оно не видит вообще
Начало Света 2012!
*

TakT

  • Захожу иногда
  • 124
  • 8 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #375 : 26.08.2011, 15:39:57 »
Спасибо, теперь хоть заработало... Вот токо применяет условие почемуто аж во всём Вирте, а не на отдельных его страницах, где надо. Код вот такой щас:
Код
<?php if ($option == 'com_virtuemart' and $view = 'checkout.index' and $view = 'shop.cart' and $view = 'account.order_details' and $view = 'checkout.thankyou') : ?>
        <div id="content1_wide">...</div>
<?php else: ?>
        <div id="content1">...</div>
<?php endif; ?>
такое ощущение, что части and $view = 'checkout.index' and $view = 'shop.cart' and $view = 'account.order_details' and $view = 'checkout.thankyou' оно не видит вообще

так и есть, ошибка у вас? нужно:

Код
$view != 'checkout.index' and $view != 'shop.cart'

а не:

Код
$view = 'checkout.index' and $view = 'shop.cart'

'=' - это операция присвоения, а '==' - операция сравнения
*

andx

  • Захожу иногда
  • 111
  • 6 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #376 : 26.08.2011, 15:57:13 »
наоборот всё становится (((, условие применяет там где нет Вирта, например где просто статья. Оно и ясно, ведь != это не совпадает
Начало Света 2012!
*

TakT

  • Захожу иногда
  • 124
  • 8 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #377 : 26.08.2011, 16:02:54 »
ну во-перввых он не может отображаться в татьях так как в условии четко прописанно

Код
$option == 'com_virtuemart'

показывать только если ты в вирте(у материала 'com_content')

кароче говоря, вот:

Код
<?php if ($option == 'com_virtuemart' and $view != 'checkout.index' and $view != 'shop.cart' and $view != 'account.order_details' and $view != 'checkout.thankyou') : ?>
*

andx

  • Захожу иногда
  • 111
  • 6 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #378 : 26.08.2011, 16:14:36 »
(((((( эта зараза всёравно распространяется на весь Вирт...
Начало Света 2012!
*

TakT

  • Захожу иногда
  • 124
  • 8 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #379 : 26.08.2011, 17:09:52 »
(((((( эта зараза всёравно распространяется на весь Вирт...

я уже все рассказал что да как, так что вам уже осталось только подобрать необходимую логику, Удачи!
*

andx

  • Захожу иногда
  • 111
  • 6 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #380 : 26.08.2011, 17:16:40 »
да я уж понимаю, чего тут ещё расскажешь сверх того. Целый день мучаюсь, не пашет и всё тут, я уже какие токо комбинации не перепробовал с этими = != == and &&... Вобщем оплачу труды, кто готов разобраться в моём шаблоне, пишите в личку
Начало Света 2012!
*

roga_i_kopita

  • Осваиваюсь на форуме
  • 32
  • 4 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #381 : 13.09.2011, 00:24:47 »
Ребят, а как проверить, выводит ли компонент хоть одну статью?
Вот пишем:
<div id="center_column">
<jdoc:include type="component" />
</div>
И надо НЕ создавать "center_column", если компонент не выводит ни одной статьи.
Такая ситуация возможна, к примеру, когда в админке мы не указываем ни для одного материала, чтобы он выводился на главной. Тогда главная страница получается без материалов.

Можно ли как-то это дело проверять?

Если можно, подскажите как это помимо Joomla 1.5 ещё и для Joomla 1.7 сделать.
В ветке Joomla 1.6 / 1.7 таких масштабных дискуссий по всевозможным условиям в шаблонах нету.
*

beliyadm

  • Легенда
  • 8936
  • 1625 / 63
  • Севастополь == Россия
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #382 : 13.09.2011, 00:33:11 »
Компонент совсем не обязательно должен выводить "статью", вариаций контента множество.
Могу ошибаться, но я ни разу не встречал подобной проверки, что если component возвращает null - что-то делается.
Может быть проще заранее распланировать логику работы сайта, определить где на каких страницах что будет выводиться и от этого плясать с условиями в шаблоне?
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

andx

  • Захожу иногда
  • 111
  • 6 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #383 : 13.09.2011, 11:18:30 »
Посмотрите опытным взглядом, что записано не так? не работает и всё тут. Нужно, чтобы при условии показывался див content1_wide, а в остальных случаях content1. Чего ещё нужно этому вирту? Безуспешно опробованы эти варианты:

1) основная конструкция
Код: php
<?php if ($option == 'com_virtuemart' and $view != 'checkout.index' || $view != 'shop.cart' || $view != 'account.order_details' || $view != 'checkout.thankyou') { ?>
        <div id="content1_wide">
        </div>
<?php }else{ ?>
        <div id="content1">
        </div>
<?php } ?>

2) другой вариант условия
Код: php
<?php if (($option == 'com_virtuemart') and ($view != 'checkout.index') || ($view != 'shop.cart') || ($view != 'account.order_details') || ($view != 'checkout.thankyou')) { ?>

3) ещё вариант
Код: php
<?php if (($option == 'com_virtuemart') and ($view == 'checkout.index') || ($view == 'shop.cart') || ($view == 'account.order_details') || ($view == 'checkout.thankyou')) { ?>

4) и ещё
Код: php
<?php if (($option == 'com_virtuemart') and ($view != 'checkout.index') or ($view != 'shop.cart') or ($view != 'account.order_details') or ($view != 'checkout.thankyou')) { ?>

5) ........ ии ещё, упростили задачу, чтоб в целом посмотреть РАБОТАЕТ ЛИ ОНО ХОТЬ КАК-НИБУДЬ?? Не сработало
Код: php
<?php if (($option == 'com_virtuemart') and ($view == 'shop.browse')) { ?>

6) А это проще вообще некуда, но даже в этом варианте не сработало, при нахождении в корзине всёравно показывался див content1, а не content1_wide
Код: php
<?php if ($view == 'shop.cart') { ?>
Начало Света 2012!
*

SDKiller

  • Живу я здесь
  • 2706
  • 326 / 5
  • ...ergo sum
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #384 : 13.09.2011, 12:36:26 »
Чего ещё нужно этому вирту?

Этому вирту вместо view нужно page

Код
.../index.php?option=com_virtuemart&page=shop.cart&product_id=10
*

andx

  • Захожу иногда
  • 111
  • 6 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #385 : 13.09.2011, 14:07:42 »
Этому вирту вместо view нужно page

сделал <?php if ($page == 'shop.cart') { ?> не помогло (
Начало Света 2012!
*

SDKiller

  • Живу я здесь
  • 2706
  • 326 / 5
  • ...ergo sum
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #386 : 13.09.2011, 15:11:02 »
Так для начала вы получили эту page из JRequest ?
*

andx

  • Захожу иногда
  • 111
  • 6 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #387 : 14.09.2011, 12:40:33 »
SDKiller
большое спасибо! Я думал не обязательно это вставлять в шаблон :-/ каюсь... В итоге на локалке всё заработало с таким рецептом, кому надо:
1) В начале сразу после <body> добавлено <?php $page = JRequest::getVar('page', null); ?>

2) Условие теперь такое: <?php if ($page == 'checkout.index' || $page == 'shop.cart' || $page == 'account.order_details' || $page == 'checkout.thankyou') { ?>, упоминание про компонент убрал за ненадобностью - $option == 'com_virtuemart', наверное правильно сделал :)

Скоро опробую на живом сайте, там SEF роутер от danik'а стоит для вирта, по идее должно заработать. UPD: заработало  ^-^
« Последнее редактирование: 22.09.2011, 11:52:07 от andx »
Начало Света 2012!
*

mstr

  • Захожу иногда
  • 62
  • 1 / 0
Re: Различные условия в шаблонах Joomla 1.5
« Ответ #388 : 24.09.2011, 22:32:26 »
Всем привет!
Есть ли какой-то способ проверить, открыт сайт во фрэйме, или нет?
Хочу сделать урезанный шаблон для отображения во фрэйме.

Re: Различные условия в шаблонах Joomla 1.5
« Ответ #389 : 10.10.2011, 12:27:19 »
Подскажитк пожалуйста, сделал шаблон но при пустом контексте в статье не работает меню что не так?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[howto] Создание новой позиции модулей в Joomla 1.5 .

Автор Blinp

Ответов: 221
Просмотров: 227482
Последний ответ 25.11.2013, 16:17:06
от milk101
[howto] Создание шаблона для Joomla! 1.5

Автор Mitrich

Ответов: 225
Просмотров: 349181
Последний ответ 17.09.2013, 16:00:05
от fred
Joomla 1.5 Как связать разделы главного меню с модулем статей к этим разделам.

Автор sergey_2012

Ответов: 4
Просмотров: 4442
Последний ответ 29.08.2012, 00:21:25
от sergey_2012
Как в Joomla 1.5х изменить стандартный адрес в админ-панель "http://мойсайт/administrator/"

Автор Serzh-UX

Ответов: 19
Просмотров: 27710
Последний ответ 07.07.2012, 03:41:28
от alekshavan
WARP 5 или Joomla 1.5 Template Framework

Автор userxp

Ответов: 16
Просмотров: 12272
Последний ответ 16.06.2012, 01:28:16
от Очередной вебмастер