вертикальная табуляция с Кирби - PullRequest
0 голосов
/ 17 апреля 2020

Я новичок здесь, так что простите меня, если я сделаю какие-либо ошибки ...

Я построил вертикальную вкладку для своего веб-сайта портфолио на основе учебника w3school: https://www.w3schools.com/howto/howto_js_vertical_tabs.asp

Таким образом, я изменил названия городов с кодом php, относящимся к названиям моих проектов ... но проблема в том, что когда я перезагружаю свою страницу, никакая вкладка не выбирается заранее, и поэтому отображается содержимое всего проекта .

<div class="col-4 tab">
                <div class="fixed-top">


                    <?php foreach($page->children()->listed() as $project): ?>

                        <button class="tablinks" onclick="openCity(event, '(<?= $project->title() ?>)')" id="defaultOpen"><?= $project->title() ?></button>

                    <?php endforeach ?>

                </div>
            </div>


            <?php foreach($page->children()->listed() as $project): ?>

                <div class="col-8 tabcontent" id="(<?= $project->title() ?>)">
                    <h3><?= $project->title() ?></h3>
                </div>

            <?php endforeach ?>

Думаю, проблема в том, что мне нужно выбрать только первый проект и указать для него идентификатор defaultOpen, а затем выбрать все остальные проекты.

, но я не уверен как закодировать это в php ...

я был бы очень рад, если бы вы могли мне помочь, и извините за эти самые основные c вопросы

спасибо, cian

1 Ответ

0 голосов
/ 27 апреля 2020

Страницы в коллекции имеют метод isFirst(), который можно использовать для проверки того, находятся ли они на первой позиции ( Kirby docs ).

Если вы хотите, чтобы только первый ребенок иметь идентификатор defaultOpen, вы можете использовать его так:

<?php foreach($page->children()->listed() as $project): ?>
  <button
    <?= $project->isFirst() ? 'id="defaultOpen"' : '' ?>
    class="tablinks"
    onclick="openCity(event, '(<?= $project->title() ?>)')">
      <?= $project->title() ?>
  </button>
<?php endforeach ?>
...