О проекте

Проект 9999p.ru создан для людей, ценящих время и средства. Он поможет вам создать качественный сайт за короткий срок и очень недорого!  Суть его - в разработке сайта на основе готовых решений, которые позволяет зарабатывать другим пользователям уже давно!

Преимущества

Преимущества такой разработки очевидны:

  1. Скорость внедрения
  2. Невысокая стоимость
  3. Высокое качество
  4. Ожидаемый результат

Все включено

В стоимость разработки сайта включены все необходимые операции разработки сайта:

  • Регистрация домена
  • Регистрация хостинга
  • Дизайн сайта
  • Верстка сайта
  • Система управления сайтом
  • Наполнение сайта
  • Публикация сайта в интернете
  • Добавление в поисковые системы

Выполненные работы

Мы создали для наших клиентов

И сейчас занимаемся разаботкой новых. Заказать сайт


JDocumentHTML / countModules

Синтаксис

int countModules( $condition )

где:

Аргумент Данные типа Описание По умолчанию
$condition string Может быть имя модуля позиции, или простое выражение с участием нескольких имен модулей позиции.

Подсчет модулей в данном модуле позиции

CountModules метод может быть использован в шаблон, чтобы определить количество модулей включена в данный модуль позиции. Это обычно используется для включения HTML вокруг модулей в определенной позиции только тогда, когда по крайней мере один модуль включен на эту должность. Это предотвращает пустые регионы, которые определяются в шаблон вывода и технике иногда называют "рушится колонны".

Например, следующий код включает в себя модули в положение 'user1', только если по крайней мере один модуль включен на эту должность.

<?php if ($this->countModules( 'user1' )) : ?>
  <div class="user1">
    <jdoc:include type="modules" name="user1" style="rounded" />
  </div>
<?php endif; ?>


Подсчет модулей на нескольких позиций модуля

CountModules метод может быть использован для определения числа модулей в более, чем на одну позицию модуля.
Более продвинутые расчеты могут быть выполнены.
Аргумент функции countModules, как правило, просто название одной позиции модуля.
Функция возвращает количество модулей в настоящее время включен на эту должность модуль.
Но вы также можете делать простые логические и арифметические операции над двумя или более позиций модуля.

Например, чтобы определить общее количество модулей включена в 'user1' и 'user2' позиции вместе, вы можете использовать вызов
функции:


$this->countModules( 'user1 + user2' );
Хотя обычные арифметические операторы +. -. *, / Будет работать как и ожидалось, это не так полезна, как логические операторы 'и' и 'или'.

Например, чтобы определить, является ли 'user1' позиция и позиция 'user2' оба имеют по крайней мере один модуль включен, вы можете использовать вызов функции:
$this->countModules( 'user1 and user2' );

Осторожно: распространенной ошибкой является попытка что-то вроде этого:

$this->countModules( 'user1' and 'user2' );
Это в значительной степени гарантирует всегда возвращать ложное вне зависимости от количества модулей включена в любом положении, так что проверить, что вы переходя к countModules тщательно.

Вы должны иметь ровно один пробел разделения каждого элемента в строке. Например, 'user1 + user2' не даст желаемого результата,
как должно быть пробел обе стороны от знака "+".
Кроме того, 'user1 + user2' будет производить сообщение PHP ошибки, есть более
чем на одно место разделения каждого элемента.

Пример: user1 и user2 Модуль позиции, которое будет отображаться в регионе, но вы хотите, чтобы область не появляется вообще,
если не модули включены в любом положении.


<?php if ($this->countModules( 'user1 or user2' )) : ?> <div class="rightcolumn"> <jdoc:include type="modules" name="user1" style="xhtml" /> <jdoc:include type="modules" name="user2" style="xhtml" /> </div> <?php endif; ?>

Пример: user1 и user2 Модуль позиции, которые будут отображаться бок о бок с разделителем между ними.
Однако, если только одна из позиций Модуль имеет каких-либо модулей включена, то разделитель не нужен.

Кроме того, если ни одна user1 и user2 имеет каких-либо модулей включена, то ничего не выводится.


<?php if ($this->countModules( 'user1 or user2' )) : ?> <div class="user1user2"> <?php if ($this->countModules( 'user1' )) : ?> <jdoc:include type="modules" name="user1" style="xhtml" /> <?php endif; ?> <?php if ($this->countModules( 'user1 and user2' )) : ?> <div class="greyline"></div> <?php endif; ?> <?php if ($this->countModules( 'user2' )) : ?> <jdoc:include type="modules" name="user2" style="xhtml" /> <?php endif; ?> </div> <?php endif; ?>

Обратите внимание, как первый звонок countModules определяет, есть ли модули для отображения на всех.
Второй определяет, будет ли Есть в любом положении 'user1', и если Есть она показывает их.
Третий вызов определяет, как user1 и user2
позиции есть какие-то модули включены, и если они делают то, если предусматривается разделитель между ними.
Наконец, четвертый вызов определяет, будет ли Есть любые модули включены в положение 'user2' и отображает их, если Есть любые.

Операторы для использования с функцией countModules

Следующим логическим, сравнения и арифметические операции доступны:

Оператор Пример
Описание
+ user1 + user2 Общее количество модулей в user1 и user2 позиции.
- user1 - user2 Количество модулей в позиции user1 минус число в user2 позиции.
* user1 * user2 Количество модулей в позиции user1 умноженной на число в user2 позиции.
/ user1 / user2 Количество модулей в позиции user1, разделенной на число в user2 позиции.
== user1 == user2 Возвращает ИСТИНА, если user1 и user2 имеют одинаковое количество модулей включен, в противном случае возвращает ложь.
!= user1 != user2 Возвращает ИСТИНА, если user1 и user2 не имеют одинаковое количество модулей включен, в противном случае возвращает ложь.
<> user1 <> user2 То же! =.
< user1 < user2 Возвращает ИСТИНА, если user1 имеет строго меньше, чем модули включены user2, в противном случае возвращает ложь.
> user1 > user2 Возвращает ИСТИНА, если user2 строго больше модулей включена чем user1, в противном случае возвращает ложь.
<= user1 <= user2 Возвращает значение True, если пользователь User1 же или меньше, чем модули включены user2, в противном случае возвращает ложь.
>= user1 >= user2 Возвращает ИСТИНА, если user2 имеет такую же или более модулей включена чем user1, в противном случае возвращает ложь.
and user1 and user2 Возвращает ИСТИНА, если user1 и user2 оба имеют по крайней мере 1 включен модуль, в противном случае возвращает ложь.
or user1 or user2 Возвращает ИСТИНА, если user1 и user2 или оба имеют по крайней мере 1 включен модуль, в противном случае возвращает ложь.
xor user1 xor user2 Возвращает ИСТИНА, если user1 и user2 но не оба, по крайней мере 1 включен модуль, в противном случае возвращает ложь.
Заметим, что если countModules () возвращает все ненулевые числа оно эквивалентно истинно, тогда нулю эквивалентно ложным.

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

В следующей таблице приведен список операторов с высоким приоритетом-операторы, перечисленные в верхней части таблицы. Операторов на одной строке имеют одинаковый приоритет, и в этом случае они выполняются слева направо. Использование скобок, чтобы переопределить приоритет не поддерживается.
Оператор Оператор типа
* / Арифметические операторы
+ - Арифметические операторы
< <= > >= Операторы сравнения
== != Операторы сравнения
and Логический оператор
xor Логический оператор
or Логический оператор