Style anpassungen für die Dokumentationsseite und die Produktseite. Hinzufügen eines Feeds für Produktaktualisierungen. Aktualisierung der Router- und Suchcontroller-Logik, um die neuen Seiten zu unterstützen. Anpassung der Admin-Einstellungen für die Dokumentationsseite.
This commit is contained in:
@@ -6,9 +6,9 @@ $active_version_slug = (string) ($active_version_slug ?? '');
|
||||
$active_page_slug = (string) ($active_page_slug ?? '');
|
||||
?>
|
||||
<div class="kb-docs-wrap kb-docs-app">
|
||||
<aside class="kb-app-sidebar" aria-label="<?php esc_attr_e('Documentation navigation', 'kb-markdown-importer'); ?>">
|
||||
<aside class="kb-app-sidebar" aria-label="<?php esc_attr_e('Dokumentationsnavigation', 'kb-markdown-importer'); ?>">
|
||||
<div class="kb-app-sidebar__brand">
|
||||
<a href="<?php echo esc_url($url_builder::docsIndex()); ?>"><?php esc_html_e('Knowledgebase', 'kb-markdown-importer'); ?></a>
|
||||
<a href="<?php echo esc_url($url_builder::docsIndex()); ?>"><?php esc_html_e('Dokumentation', 'kb-markdown-importer'); ?></a>
|
||||
</div>
|
||||
<div class="kb-app-sidebar__search">
|
||||
<?php echo do_shortcode('[kb_search]'); ?>
|
||||
@@ -25,25 +25,15 @@ $active_page_slug = (string) ($active_page_slug ?? '');
|
||||
<a class="kb-app-product__link" href="<?php echo esc_url($latest ? $url_builder::version($term->slug, $latest->slug) : $url_builder::product($term->slug)); ?>">
|
||||
<?php echo esc_html($term->name); ?>
|
||||
</a>
|
||||
<?php if ($versions) : ?>
|
||||
<ul class="kb-app-version-list">
|
||||
<?php foreach ($versions as $version) : ?>
|
||||
<?php $isActiveVersion = $isActiveProduct && $version->slug === $active_version_slug; ?>
|
||||
<li class="<?php echo $isActiveVersion ? 'is-active' : ''; ?>">
|
||||
<a href="<?php echo esc_url($url_builder::version($term->slug, $version->slug)); ?>"><?php echo esc_html($version->name); ?></a>
|
||||
<?php if ($isActiveVersion && ! empty($active_pages)) : ?>
|
||||
<ul class="kb-app-page-list">
|
||||
<?php foreach ((array) $active_pages as $page) : ?>
|
||||
<?php
|
||||
$pageSlug = (string) get_post_meta($page->ID, '_kb_page_slug', true);
|
||||
$isActivePage = $pageSlug === $active_page_slug || ('' === $active_page_slug && in_array($pageSlug, ['', 'index'], true));
|
||||
?>
|
||||
<li class="<?php echo $isActivePage ? 'is-active' : ''; ?>">
|
||||
<a href="<?php echo esc_url($url_builder::page($term->slug, $version->slug, $pageSlug)); ?>"><?php echo esc_html(get_the_title($page)); ?></a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php endif; ?>
|
||||
<?php if ($isActiveProduct && $active_version_slug && ! empty($active_pages)) : ?>
|
||||
<ul class="kb-app-page-list">
|
||||
<?php foreach ((array) $active_pages as $page) : ?>
|
||||
<?php
|
||||
$pageSlug = (string) get_post_meta($page->ID, '_kb_page_slug', true);
|
||||
$isActivePage = $pageSlug === $active_page_slug || ('' === $active_page_slug && in_array($pageSlug, ['', 'index'], true));
|
||||
?>
|
||||
<li class="<?php echo $isActivePage ? 'is-active' : ''; ?>">
|
||||
<a href="<?php echo esc_url($url_builder::page($term->slug, $active_version_slug, $pageSlug)); ?>"><?php echo esc_html(get_the_title($page)); ?></a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
|
||||
@@ -1,8 +1,40 @@
|
||||
<?php
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
$settings = (array) ($settings ?? []);
|
||||
$updates = (array) ($updates ?? []);
|
||||
?>
|
||||
<section class="kb-docs-home">
|
||||
<h1><?php esc_html_e('Knowledgebase', 'kb-markdown-importer'); ?></h1>
|
||||
<h1><?php esc_html_e('Dokumentation', 'kb-markdown-importer'); ?></h1>
|
||||
<div class="kb-docs-home-grid">
|
||||
<section class="kb-home-card kb-home-intro">
|
||||
<h2><?php echo esc_html((string) ($settings['docs_home_intro_title'] ?? __('So nutzt du die Dokumentation', 'kb-markdown-importer'))); ?></h2>
|
||||
<div class="kb-home-intro__content">
|
||||
<?php echo wp_kses_post(wpautop((string) ($settings['docs_home_intro_content'] ?? ''))); ?>
|
||||
</div>
|
||||
</section>
|
||||
<section class="kb-home-card kb-product-updates">
|
||||
<h2><?php esc_html_e('Neueste Produktupdates', 'kb-markdown-importer'); ?></h2>
|
||||
<?php if ($updates) : ?>
|
||||
<ul class="kb-product-updates__list">
|
||||
<?php foreach ($updates as $update) : ?>
|
||||
<li>
|
||||
<div class="kb-product-updates__meta">
|
||||
<strong><?php echo esc_html((string) ($update['product'] ?: __('Produkt', 'kb-markdown-importer'))); ?></strong>
|
||||
<?php if (! empty($update['version'])) : ?><span><?php echo esc_html((string) $update['version']); ?></span><?php endif; ?>
|
||||
<?php if (! empty($update['date'])) : ?><time><?php echo esc_html((string) $update['date']); ?></time><?php endif; ?>
|
||||
</div>
|
||||
<?php if (! empty($update['changelog'])) : ?>
|
||||
<p><?php echo esc_html((string) $update['changelog']); ?></p>
|
||||
<?php endif; ?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php else : ?>
|
||||
<p class="kb-empty-state"><?php esc_html_e('Es wurden noch keine Produktupdates gefunden.', 'kb-markdown-importer'); ?></p>
|
||||
<?php endif; ?>
|
||||
</section>
|
||||
</div>
|
||||
<div class="kb-product-list">
|
||||
<?php foreach ((array) $products as $item) : ?>
|
||||
<?php $term = $item['term']; ?>
|
||||
|
||||
@@ -2,12 +2,28 @@
|
||||
defined('ABSPATH') || exit;
|
||||
?>
|
||||
<article class="kb-doc-content">
|
||||
<nav class="kb-breadcrumbs">
|
||||
<a href="<?php echo esc_url($url_builder::docsIndex()); ?>"><?php esc_html_e('Docs', 'kb-markdown-importer'); ?></a><span>/</span>
|
||||
<a href="<?php echo esc_url($url_builder::product($product_slug)); ?>"><?php echo esc_html($product ? $product->name : $product_slug); ?></a><span>/</span>
|
||||
<a href="<?php echo esc_url($url_builder::version($product_slug, $version_slug)); ?>"><?php echo esc_html($version ? $version->name : $version_slug); ?></a>
|
||||
</nav>
|
||||
<h1><?php echo esc_html(get_the_title($post)); ?></h1>
|
||||
<header class="kb-doc-header">
|
||||
<div class="kb-doc-header__main">
|
||||
<nav class="kb-breadcrumbs">
|
||||
<a href="<?php echo esc_url($url_builder::docsIndex()); ?>"><?php esc_html_e('Dokumentation', 'kb-markdown-importer'); ?></a><span>/</span>
|
||||
<a href="<?php echo esc_url($url_builder::product($product_slug)); ?>"><?php echo esc_html($product ? $product->name : $product_slug); ?></a><span>/</span>
|
||||
<span><?php echo esc_html($version ? $version->name : $version_slug); ?></span>
|
||||
</nav>
|
||||
<h1><?php echo esc_html(get_the_title($post)); ?></h1>
|
||||
</div>
|
||||
<?php if (! empty($versions)) : ?>
|
||||
<div class="kb-version-switcher">
|
||||
<label for="kb-version-switcher"><?php esc_html_e('Version', 'kb-markdown-importer'); ?></label>
|
||||
<select id="kb-version-switcher">
|
||||
<?php foreach ((array) $versions as $available_version) : ?>
|
||||
<option value="<?php echo esc_attr($available_version->slug); ?>" data-url="<?php echo esc_url($url_builder::version($product_slug, $available_version->slug)); ?>" <?php selected($available_version->slug, $version_slug); ?>>
|
||||
<?php echo esc_html($available_version->name); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</header>
|
||||
<div class="kb-rendered-content">
|
||||
<?php
|
||||
$rendered_content = $url_builder::rewriteHtml(apply_filters('the_content', $post->post_content));
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
defined('ABSPATH') || exit;
|
||||
?>
|
||||
<section class="kb-docs-product">
|
||||
<nav class="kb-breadcrumbs"><a href="<?php echo esc_url($url_builder::docsIndex()); ?>"><?php esc_html_e('Docs', 'kb-markdown-importer'); ?></a><span>/</span><?php echo esc_html($product->name); ?></nav>
|
||||
<nav class="kb-breadcrumbs"><a href="<?php echo esc_url($url_builder::docsIndex()); ?>"><?php esc_html_e('Dokumentation', 'kb-markdown-importer'); ?></a><span>/</span><?php echo esc_html($product->name); ?></nav>
|
||||
<h1><?php echo esc_html($product->name); ?></h1>
|
||||
<h2><?php esc_html_e('Available Versions', 'kb-markdown-importer'); ?></h2>
|
||||
<h2><?php esc_html_e('Verfügbare Versionen', 'kb-markdown-importer'); ?></h2>
|
||||
<ul class="kb-version-list">
|
||||
<?php foreach ((array) $versions as $index => $version) : ?>
|
||||
<li>
|
||||
<a href="<?php echo esc_url($url_builder::version($product->slug, $version->slug)); ?>"><?php echo esc_html($version->name); ?></a>
|
||||
<?php if (0 === $index) : ?><span class="kb-current-version"><?php esc_html_e('current', 'kb-markdown-importer'); ?></span><?php endif; ?>
|
||||
<?php if (0 === $index) : ?><span class="kb-current-version"><?php esc_html_e('aktuell', 'kb-markdown-importer'); ?></span><?php endif; ?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
defined('ABSPATH') || exit;
|
||||
?>
|
||||
<section class="kb-search">
|
||||
<h2><?php echo esc_html($title ?? __('Search Documentation', 'kb-markdown-importer')); ?></h2>
|
||||
<h2><?php echo esc_html($title ?? __('Dokumentation durchsuchen', 'kb-markdown-importer')); ?></h2>
|
||||
<form method="get" class="kb-search-form">
|
||||
<input type="search" name="kbq" value="<?php echo esc_attr($query ?? ''); ?>" placeholder="<?php esc_attr_e('Search documentation', 'kb-markdown-importer'); ?>">
|
||||
<button type="submit"><?php esc_html_e('Search', 'kb-markdown-importer'); ?></button>
|
||||
<input type="search" name="kbq" value="<?php echo esc_attr($query ?? ''); ?>" placeholder="<?php esc_attr_e('Dokumentation durchsuchen', 'kb-markdown-importer'); ?>">
|
||||
<button type="submit"><?php esc_html_e('Suchen', 'kb-markdown-importer'); ?></button>
|
||||
</form>
|
||||
<?php if (! empty($results)) : ?>
|
||||
<ul class="kb-search-results">
|
||||
|
||||
@@ -2,12 +2,28 @@
|
||||
defined('ABSPATH') || exit;
|
||||
?>
|
||||
<section class="kb-docs-version">
|
||||
<nav class="kb-breadcrumbs">
|
||||
<a href="<?php echo esc_url($url_builder::docsIndex()); ?>"><?php esc_html_e('Docs', 'kb-markdown-importer'); ?></a><span>/</span>
|
||||
<a href="<?php echo esc_url($url_builder::product($product->slug)); ?>"><?php echo esc_html($product->name); ?></a><span>/</span>
|
||||
<?php echo esc_html($version->name); ?>
|
||||
</nav>
|
||||
<h1><?php echo esc_html($product->name . ' ' . $version->name); ?></h1>
|
||||
<header class="kb-doc-header">
|
||||
<div class="kb-doc-header__main">
|
||||
<nav class="kb-breadcrumbs">
|
||||
<a href="<?php echo esc_url($url_builder::docsIndex()); ?>"><?php esc_html_e('Dokumentation', 'kb-markdown-importer'); ?></a><span>/</span>
|
||||
<a href="<?php echo esc_url($url_builder::product($product->slug)); ?>"><?php echo esc_html($product->name); ?></a><span>/</span>
|
||||
<span><?php echo esc_html($version->name); ?></span>
|
||||
</nav>
|
||||
<h1><?php echo esc_html($product->name . ' ' . $version->name); ?></h1>
|
||||
</div>
|
||||
<?php if (! empty($versions)) : ?>
|
||||
<div class="kb-version-switcher">
|
||||
<label for="kb-version-switcher"><?php esc_html_e('Version', 'kb-markdown-importer'); ?></label>
|
||||
<select id="kb-version-switcher">
|
||||
<?php foreach ((array) $versions as $available_version) : ?>
|
||||
<option value="<?php echo esc_attr($available_version->slug); ?>" data-url="<?php echo esc_url($url_builder::version($product->slug, $available_version->slug)); ?>" <?php selected($available_version->slug, $version->slug); ?>>
|
||||
<?php echo esc_html($available_version->name); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</header>
|
||||
<ul class="kb-page-list">
|
||||
<?php foreach ((array) $pages as $page) : ?>
|
||||
<?php $slug = (string) get_post_meta($page->ID, '_kb_page_slug', true); ?>
|
||||
|
||||
Reference in New Issue
Block a user