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

lgmax

  • Захожу иногда
  • 283
  • 1 / 1
Всем привет.

Есть необходимость скрыть отображение последних двух доп. полей компонента K2 в Joomla 3.x.

Сейчас реализовано скрытие 1 последнего доп. поля.

Вот пример:

<?php if($this->item->params->get('itemExtraFields') && count($this->item->extra_fields)): array_pop($this->item->extra_fields)?>
<div class="CompanyExtraFields">
<ul>
<?php foreach ($this->item->extra_fields as $key => $extraField): ?>
<?php if($extraField->value): ?>
<li class="<?php echo ($key%2)? " odd " : "even "; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
<span class="itemExtraFieldsLabel"><?php echo $extraField->name; ?>:</span>
<span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>

Можно сделать через это:

$x =0; $s = count($this->item->extra_fields)-2;
foreach ($this->item->extra_fields as $key => $extraField){ if($x <= $s) { echo "выводим"; } $x++; }

Мы получаем размер массива, где 2 последних комментария(строки) нам не нужны.
Предположим их 7, а нам нужно вывести 5.
От общего количества, которые мы получили (7) отнимаем 2 и получаем 5 переменная ($s)
Ставим условие в цикл, если флаг(переменная $x) меньше или равна переменной ($s) то выводим, если больше то не выводим.

Кто сможет адаптировать это в готовый код?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
лучше не выводить условие. А останвливать цикл да и key у них от 0 вроде шел
тобишь у нас семь полей ключи выходя  0 1 2 3 4 5 6
На надо останвить массив когда ключ будет 5 (а имет соотвесвенно 6)
Код: php
$max = 5;
foreach ($this->item->extra_fields as $key => $extraField) {
if ($key == ($max)) {
break;
}
}
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

lgmax

  • Захожу иногда
  • 283
  • 1 / 1
Да там не то чтобы их 7, их не ограниченное кол-во.

Вообще, нужно просто скрыть последние 2, не зависимо от того, сколько их.

Как это реализовать, не подскажете?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Да там не то чтобы их 7, их не ограниченное кол-во.

Вообще, нужно просто скрыть последние 2, не зависимо от того, сколько их.

Как это реализовать, не подскажете?
Точно так же. только max надо посчитать
Код: php
$max = count($this->item->extra_fields) - 2;
foreach ($this->item->extra_fields as $key => $extraField) {
if ($key == ($max)) {
break;
}
}
« Последнее редактирование: 19.05.2017, 18:12:46 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

lgmax

  • Захожу иногда
  • 283
  • 1 / 1
Ок. Если не сложно, впиши пожалуйста свой пример в код выше. Заранее благодарен. Думаю это будет полезно всем.
*

lgmax

  • Захожу иногда
  • 283
  • 1 / 1
Вообщем, сделал так - вместо array_pop($this->item->extra_fields) написал array_splice($this->item->extra_fields, count($this->item->extra_field) - 2), только не уверен что это правильно.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Вообщем, сделал так - вместо array_pop($this->item->extra_fields) написал array_splice($this->item->extra_fields, count($this->item->extra_field) - 2), только не уверен что это правильно.
Да нет и почему и так можно. убрать два последний эллемента.
Просто я лично вообще не понимаю зачем вам скрывать два последних, если можно просто выводить поля по одному. Чуть сортировка даст сбой убиреться не то поле.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

lgmax

  • Захожу иногда
  • 283
  • 1 / 1
Дело в том, что для каждой категории у меня разные доп. поля и не определенного наименования, поэтому отдельный вывод не подходит.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Дело в том, что для каждой категории у меня разные доп. поля и не определенного наименования, поэтому отдельный вывод не подходит.
Ну непонятный alias  - это вообще малясь ваш косяк. А вообще можно и по id,
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

В Joomla! 3.9.1 в к2 не меняется порядок расположения материала

Автор sergspb

Ответов: 0
Просмотров: 110
Последний ответ 12.06.2021, 15:20:52
от sergspb
Убрать http:// из поля формы регистрации и профиля

Автор lgmax

Ответов: 2
Просмотров: 1250
Последний ответ 20.01.2021, 18:52:22
от dizastill
Не отображается Captcha v2 в компоненте K2 2.10.3 Joomla 2.5

Автор Александр Кардаш

Ответов: 4
Просмотров: 439
Последний ответ 30.07.2020, 12:27:47
от Александр Кардаш
Joomla 3 + k2 выдает ошибку

Автор designerandrey

Ответов: 9
Просмотров: 415
Последний ответ 20.07.2020, 15:43:14
от designerandrey
Проблема с нагрузкой на хостинг сервер Joomla 3.9.13 + K2+подсчет хитов

Автор Kokshetau

Ответов: 0
Просмотров: 448
Последний ответ 27.01.2020, 10:53:02
от Kokshetau