You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
4.5 KiB
89 lines
4.5 KiB
<?php |
|
/** |
|
* Template part for displaying the catalog page content |
|
* |
|
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/ |
|
* |
|
* @package Aldine |
|
*/ |
|
|
|
?> |
|
|
|
<?php |
|
|
|
use function Aldine\Helpers\get_catalog_data; |
|
use function Aldine\Helpers\get_catalog_licenses; |
|
|
|
$current_page = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; |
|
$orderby = ( get_query_var( 'orderby' ) ) ? get_query_var( 'orderby' ) : 'title'; |
|
$subject = ( get_query_var( 'subject' ) ) ? get_query_var( 'subject' ) : ''; |
|
$license = ( get_query_var( 'license' ) ) ? get_query_var( 'license' ) : ''; |
|
$catalog_data = get_catalog_data( $current_page, 9, $orderby, $license, $subject ); |
|
$previous_page = ( $current_page > 1 ) ? $current_page - 1 : 0; |
|
$next_page = $current_page + 1; |
|
$licenses = get_catalog_licenses(); |
|
$subject_groups = ( defined( 'PB_PLUGIN_VERSION' ) ) ? \Pressbooks\Metadata\get_thema_subjects() : []; |
|
|
|
?> |
|
|
|
<?php get_template_part( 'partials/page', 'header' ); ?> |
|
<section class="network-catalog"> |
|
<div class="controls"> |
|
<div class="search"> |
|
<h2><a href="#search"><?php _e( 'Search by titles or keyword', 'pressbooks-aldine' ); ?> <svg class="arrow" width="13" height="8" viewBox="0 0 13 8" xmlns="http://www.w3.org/2000/svg"><path d="M6.255 8L0 0h12.51z" fill="#b01109" fill-rule="evenodd"/></svg></a></h2> |
|
</div> |
|
<div class="filters"> |
|
<a href="#filter"><?php _e( 'Filter by', 'pressbooks-aldine' ); ?> <svg class="arrow" width="13" height="8" viewBox="0 0 13 8" xmlns="http://www.w3.org/2000/svg"><path d="M6.255 8L0 0h12.51z" fill="#b01109" fill-rule="evenodd"/></svg></a> |
|
<div id="filter" class="filter-groups"> |
|
<?php foreach ( $subject_groups as $key => $val ) : ?> |
|
<div class="<?php echo $key; ?> subjects" id="<?php echo $key; ?>"> |
|
<a href="#<?php echo $key; ?>"><?php echo $val['label']; ?> <svg class="arrow" width="13" height="8" viewBox="0 0 13 8" xmlns="http://www.w3.org/2000/svg"><path d="M6.255 8L0 0h12.51z" fill="#b01109" fill-rule="evenodd"/></svg></a> |
|
<ul class="filter-list"> |
|
<?php foreach ( $val['children'] as $k => $v ) : |
|
if ( strlen( $k ) === 2 ) : ?> |
|
<li><a data-filter="{{ $k }}"><?php echo $v; ?><span class="close">×</span></a></li> |
|
<?php endif; ?> |
|
<?php endforeach; ?> |
|
</ul> |
|
</div> |
|
<?php endforeach; ?> |
|
</div> |
|
<div class="licenses" id="licenses"> |
|
<a href="#licenses"><?php _e( 'Licenses', 'pressbooks-aldine' ); ?><svg class="arrow" width="13" height="8" viewBox="0 0 13 8" xmlns="http://www.w3.org/2000/svg"><path d="M6.255 8L0 0h12.51z" fill="#b01109" fill-rule="evenodd"/></svg></a> |
|
<ul class="filter-list"> |
|
<?php foreach ( $licenses as $key => $value ) : ?> |
|
<li><a data-filter="<?php echo $key; ?>"><?php echo $value; ?><span class="close">×</span></a></li> |
|
<?php endforeach; ?> |
|
</ul> |
|
</div> |
|
</div> |
|
<div class="sort"> |
|
<a href="#sort"><?php _e( 'Sort by', 'pressbooks-aldine' ); ?> <svg class="arrow" width="13" height="8" viewBox="0 0 13 8" xmlns="http://www.w3.org/2000/svg"><path d="M6.255 8L0 0h12.51z" fill="#b01109" fill-rule="evenodd"/></svg></a> |
|
<ul id="sort" class="sorts"> |
|
<li><a data-sort="title" href="<?php echo "/catalog/page/$current_page/?orderby=title"; ?>"><?php _e( 'Title', 'pressbooks-aldine' ); ?></a></li> |
|
<li><a data-sort="subject" href="<?php echo "/catalog/page/$current_page/?orderby=subject"; ?>"><?php _e( 'Subject', 'pressbooks-aldine' ); ?></a></li> |
|
<li><a data-sort="latest" href="<?php echo "/catalog/page/$current_page/?orderby=latest"; ?>"><?php _e( 'Latest', 'pressbooks-aldine' ); ?></a></li> |
|
</ul> |
|
</div> |
|
</div> |
|
<ul class="books"> |
|
<?php foreach ( $catalog_data['books'] as $book ) : |
|
include( locate_template( 'partials/book.php' ) ); |
|
endforeach; ?> |
|
</ul> |
|
<?php if ( $catalog_data['pages'] > 1 ) : ?> |
|
<nav class="catalog-navigation"> |
|
<?php if ( $previous_page ) : ?><a class="previous" data-page="<?php echo $previous_page; ?>" href="<?php echo network_home_url( "/catalog/page/$previous_page/" ); ?>"><?php _e( 'Previous', 'pressbooks-aldine' ); ?></a><?php endif; ?> |
|
<div class="pages"> |
|
<?php for ( $i = 1; $i <= $catalog_data['pages']; $i++ ) : |
|
if ( $i === $current_page ) : ?> |
|
<span class="current"><?php echo $i; ?></span> |
|
<?php else : ?> |
|
<a href="<?php echo network_home_url( "/catalog/page/$i/" ); ?>"><?php echo $i; ?></a> |
|
<?php endif; ?> |
|
<?php endfor; ?> |
|
</div> |
|
<?php if ( $next_page <= $catalog_data['pages'] ) : ?><a class="next" data-page="<?php echo $next_page; ?>" href="<?php echo network_home_url( "/catalog/page/$next_page/" ); ?>"><?php _e( 'Next', 'pressbooks-aldine' ); ?></a><?php endif; ?> |
|
</nav> |
|
<?php endif; ?> |
|
</section>
|
|
|