{% extends '_layouts/pages' %}
{% set bodyId = 'Tags' %}
{% block content %}
{% set tag = craft.tags.slug( craft.app.request.getSegment(2) ).one() %}
{% set query = craft.entries().section(['bookReviews','bookShorts','bookLove','bookBlog']).relatedTo(tag).limit(7) %}
<h3>Tag: <span class="small bb-small">{{ tag.title }}</span></h3>
{% paginate query as pageInfo, pageEntries %}
{% for entry in pageEntries %}
<!-- Set Related -->
{% set relatedBook = craft.entries.section('bookInfo').relatedTo(entry).all %}
{% if loop.index==1 %}
foreach ($arguments as $key => $value) {
if (is_object($value) && get_class($value) === Markup::class) {
$arguments[$key] = (string)$value;
}
}
try {
return twig_get_attribute($env, $source, $object, $item, $arguments, $type, $isDefinedTest, $ignoreStrictCheck);
} catch (UnknownMethodException $e) {
// Copy twig_get_attribute()'s BadMethodCallException handling
if ($ignoreStrictCheck || !$env->isStrictVariables()) {
return null;
}
{% block content %}
{% set tag = craft.tags.slug( craft.app.request.getSegment(2) ).one() %}
{% set query = craft.entries().section(['bookReviews','bookShorts','bookLove','bookBlog']).relatedTo(tag).limit(7) %}
<h3>Tag: <span class="small bb-small">{{ tag.title }}</span></h3>
{% paginate query as pageInfo, pageEntries %}
{% for entry in pageEntries %}
<!-- Set Related -->
// avoid RCEs when sandbox is enabled
if (null !== $template && !$template instanceof self) {
throw new \LogicException('A block must be a method on a \Twig\Template instance.');
}
if (null !== $template) {
try {
$template->$block($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
</header>
<!-- Start Content Divs -->
<main role="main scrollUp" class="container">
<div class="row">
<div class="col-lg-9 bb-col1-pad bb-col1">
<!-- Begin Entry Content -->
{% block content %}
{% endblock %}
</div>
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
{% extends '_layouts/pages' %}
{% set bodyId = 'Tags' %}
{% block content %}
{% set tag = craft.tags.slug( craft.app.request.getSegment(2) ).one() %}
{% set query = craft.entries().section(['bookReviews','bookShorts','bookLove','bookBlog']).relatedTo(tag).limit(7) %}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
$level = ob_get_level();
if ($this->env->isDebug()) {
ob_start();
} else {
ob_start(function () { return ''; });
}
try {
$this->display($context);
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
{
$this->env = $env;
$this->template = $template;
}
public function render(array $context = []): string
{
return $this->template->render($context);
}
public function display(array $context = [])
{
// using func_get_args() allows to not expose the blocks argument
*
* @throws LoaderError When the template cannot be found
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function render($name, array $context = []): string
{
return $this->load($name)->render($context);
}
/**
* Displays a template.
*
$this->setTemplateMode($templateMode);
// Render and return
$renderingTemplate = $this->_renderingTemplate;
$this->_renderingTemplate = $template;
try {
$output = $this->getTwig()->render($template, $variables);
} finally {
$this->_renderingTemplate = $renderingTemplate;
$this->setTemplateMode($oldTemplateMode);
}
$this->setTemplateMode($templateMode);
$isRenderingPageTemplate = $this->_isRenderingPageTemplate;
$this->_isRenderingPageTemplate = true;
try {
$this->beginPage();
echo $this->renderTemplate($template, $variables);
$this->endPage();
} finally {
$this->_isRenderingPageTemplate = $isRenderingPageTemplate;
$this->setTemplateMode($oldTemplateMode);
$output = ob_get_clean();
$generalConfig->useIframeResizer
) {
$view->registerAssetBundle(ContentWindowAsset::class);
}
// Render and return the template
try {
$response->content = $view->renderPageTemplate($behavior->template, $behavior->variables, $behavior->templateMode);
} catch (Throwable $e) {
$previous = $e->getPrevious();
if ($previous instanceof YiiExitException) {
// Something called Craft::$app->end()
if ($previous instanceof ExitException && $previous->output !== null) {
if (isset($this->formatters[$this->format])) {
$formatter = $this->formatters[$this->format];
if (!is_object($formatter)) {
$this->formatters[$this->format] = $formatter = Yii::createObject($formatter);
}
if ($formatter instanceof ResponseFormatterInterface) {
$formatter->format($this);
} else {
throw new InvalidConfigException("The '{$this->format}' response formatter is invalid. It must implement the ResponseFormatterInterface.");
}
} elseif ($this->format === self::FORMAT_RAW) {
if ($this->data !== null) {
}
/**
* @inheritdoc
*/
protected function prepare(): void
{
parent::prepare();
$this->_isPrepared = true;
}
/**
* Clear the output buffer to prevent corrupt downloads.
*/
public function send()
{
if ($this->isSent) {
return;
}
$this->trigger(self::EVENT_BEFORE_SEND);
$this->prepare();
$this->trigger(self::EVENT_AFTER_PREPARE);
$this->sendHeaders();
$this->sendContent();
$this->trigger(self::EVENT_AFTER_SEND);
$this->isSent = true;
$this->state = self::STATE_HANDLING_REQUEST;
$response = $this->handleRequest($this->getRequest());
$this->state = self::STATE_AFTER_REQUEST;
$this->trigger(self::EVENT_AFTER_REQUEST);
$this->state = self::STATE_SENDING_RESPONSE;
$response->send();
$this->state = self::STATE_END;
return $response->exitStatus;
} catch (ExitException $e) {
// Load shared bootstrap
require dirname(__DIR__) . '/cms1/bootstrap.php';
// Load and run Craft
/** @var craft\web\Application $app */
$app = require CRAFT_VENDOR_PATH . '/craftcms/cms/bootstrap/web.php';
$app->run();
p | "tag\/sydney-rose-parnell\/" |
Controller / Action | templates/render |
ID |
ID | Guest |
PHP version | 8.1.27 |
OS version | Linux 5.15.0-100-generic |
Craft edition & version | Craft Solo 4.8.2 |
Yii version | 2.0.48.1 |
my-module | modules\Module |
verbb-base | verbb\base\Base |
verbb-auth | verbb\auth\Auth |
architect | pennebaker\architect\Architect |
canary | TopShelfCraft\Canary\Canary |
craftagram | scaramangagency\craftagram\Craftagram |
embeddedassets | spicyweb\embeddedassets\Plugin |
feed-me | craft\feedme\Plugin |
minify | nystudio107\minify\Minify |
redactor | craft\redactor\Plugin |
redactor-tweaks | verbb\redactortweaks\RedactorTweaks |
seo | ether\seo\Seo |
similar | nystudio107\similar\Similar |
social-share | verbb\socialshare\SocialShare |
ss-twitter-feed | ssplugin\sstwitterfeed\SsTwitterFeed |
@TopShelfCraft/Canary | /mnt/www/cms1/vendor/topshelfcraft/canary/src |
@app | /mnt/www/cms1/vendor/craftcms/cms/src |
@appicons | /mnt/www/cms1/vendor/craftcms/cms/src/icons |
@assetBasePath | /mnt/www/media/bookish |
@assetBaseUrl | https://media.bookishbiker.com/bookish |
@bower | /mnt/www/cms1/vendor/bower |
@bower/inputmask/dist | /mnt/www/cms1/vendor/craftcms/cms/src/web/assets/inputmask/dist |
@bower/jquery/dist | /mnt/www/cms1/vendor/craftcms/cms/src/web/assets/jquery/dist |
@bower/punycode | /mnt/www/cms1/vendor/craftcms/cms/src/web/assets/punycode/dist |
@bower/yii2-pjax | /mnt/www/cms1/vendor/craftcms/cms/src/web/assets/yii2pjax/dist |
@config | /mnt/www/cms1/config |
@contentMigrations | /mnt/www/cms1/migrations |
@craft | /mnt/www/cms1/vendor/craftcms/cms/src |
@craft/feedme | /mnt/www/cms1/vendor/craftcms/feed-me/src |
@craft/redactor | /mnt/www/cms1/vendor/craftcms/redactor/src |
@craftcms | /mnt/www/cms1/vendor/craftcms/cms |
@creocoder/nestedsets | /mnt/www/cms1/vendor/creocoder/yii2-nested-sets/src |
@dotenv | /mnt/www/cms1/.env |
@ether/seo | /mnt/www/cms1/vendor/ether/seo/src |
@lib | /mnt/www/cms1/vendor/craftcms/cms/lib |
@npm | /mnt/www/cms1/vendor/npm |
@nystudio107/minify | /mnt/www/cms1/vendor/nystudio107/craft-minify/src |
@nystudio107/similar | /mnt/www/cms1/vendor/nystudio107/craft-similar/src |
@pennebaker/architect | /mnt/www/cms1/vendor/pennebaker/craft-architect/src |
@root | /mnt/www/cms1 |
@runtime | /mnt/www/cms1/storage/runtime |
@samdark/log | /mnt/www/cms1/vendor/samdark/yii2-psr-log-target/src |
@samdark/log/tests | /mnt/www/cms1/vendor/samdark/yii2-psr-log-target/tests |
@scaramangagency/craftagram | /mnt/www/cms1/vendor/scaramangagency/craftagram/src |
@spicyweb/embeddedassets | /mnt/www/cms1/vendor/spicyweb/craft-embedded-assets/src |
@ssplugin/sstwitterfeed | /mnt/www/cms1/vendor/ssplugin/ss-twitter-feed/src |
@storage | /mnt/www/cms1/storage |
@templates | /mnt/www/media/bookish/templates |
@tests | /mnt/www/cms1/tests |
@translations | /mnt/www/cms1/translations |
@vendor | /mnt/www/cms1/vendor |
@verbb/auth | /mnt/www/cms1/vendor/verbb/auth/src |
@verbb/base | /mnt/www/cms1/vendor/verbb/base/src |
@verbb/redactortweaks | /mnt/www/cms1/vendor/verbb/redactor-tweaks/src |
@verbb/socialshare | /mnt/www/cms1/vendor/verbb/social-share/src |
@web | https://bookishbiker.com |
@webroot | /mnt/www/cms1/mnt/www/reviews |
@yii | /mnt/www/cms1/vendor/yiisoft/yii2 |
@yii/debug | /mnt/www/cms1/vendor/yiisoft/yii2-debug/src |
@yii/queue | /mnt/www/cms1/vendor/yiisoft/yii2-queue/src |
@yii/queue/amqp | /mnt/www/cms1/vendor/yiisoft/yii2-queue/src/drivers/amqp |
@yii/queue/amqp_interop | /mnt/www/cms1/vendor/yiisoft/yii2-queue/src/drivers/amqp_interop |
@yii/queue/beanstalk | /mnt/www/cms1/vendor/yiisoft/yii2-queue/src/drivers/beanstalk |
@yii/queue/db | /mnt/www/cms1/vendor/yiisoft/yii2-queue/src/drivers/db |
@yii/queue/file | /mnt/www/cms1/vendor/yiisoft/yii2-queue/src/drivers/file |
@yii/queue/gearman | /mnt/www/cms1/vendor/yiisoft/yii2-queue/src/drivers/gearman |
@yii/queue/redis | /mnt/www/cms1/vendor/yiisoft/yii2-queue/src/drivers/redis |
@yii/queue/sqs | /mnt/www/cms1/vendor/yiisoft/yii2-queue/src/drivers/sqs |
@yii/queue/stomp | /mnt/www/cms1/vendor/yiisoft/yii2-queue/src/drivers/stomp |
@yii/queue/sync | /mnt/www/cms1/vendor/yiisoft/yii2-queue/src/drivers/sync |
@yii/shell | /mnt/www/cms1/vendor/yiisoft/yii2-shell |
@yii/symfonymailer | /mnt/www/cms1/vendor/yiisoft/yii2-symfonymailer/src |
architect | /mnt/www/cms1/vendor/pennebaker/craft-architect/src/templates |
craftagram | /mnt/www/cms1/vendor/scaramangagency/craftagram/src/templates |
embeddedassets | /mnt/www/cms1/vendor/spicyweb/craft-embedded-assets/src/templates |
feed-me | /mnt/www/cms1/vendor/craftcms/feed-me/src/templates |
redactor | /mnt/www/cms1/vendor/craftcms/redactor/src/templates |
seo | /mnt/www/cms1/vendor/ether/seo/src/templates |
social-share | /mnt/www/cms1/vendor/verbb/social-share/src/templates |
ss-twitter-feed | /mnt/www/cms1/vendor/ssplugin/ss-twitter-feed/src/templates |
verbb-base | /mnt/www/cms1/vendor/verbb/base/src/templates |
architect | /mnt/www/cms1/vendor/pennebaker/craft-architect/src/templates |
craftagram | /mnt/www/cms1/vendor/scaramangagency/craftagram/src/templates |
embeddedassets | /mnt/www/cms1/vendor/spicyweb/craft-embedded-assets/src/templates |
feed-me | /mnt/www/cms1/vendor/craftcms/feed-me/src/templates |
redactor | /mnt/www/cms1/vendor/craftcms/redactor/src/templates |
seo | /mnt/www/cms1/vendor/ether/seo/src/templates |
social-share | /mnt/www/cms1/vendor/verbb/social-share/src/templates |
ss-twitter-feed | /mnt/www/cms1/vendor/ssplugin/ss-twitter-feed/src/templates |
verbb-base | /mnt/www/cms1/vendor/verbb/base/src/templates |
REDIRECT_HTTPS | on |
REDIRECT_SSL_TLS_SNI | bookishbiker.com |
REDIRECT_STATUS | 200 |
HTTPS | on |
SSL_TLS_SNI | bookishbiker.com |
HTTP_ACCEPT | */* |
HTTP_USER_AGENT | claudebot |
HTTP_HOST | bookishbiker.com |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin |
SERVER_SIGNATURE | <address>Apache/2.4.52 (Ubuntu) Server at bookishbiker.com Port 443</address> |
SERVER_SOFTWARE | Apache/2.4.52 (Ubuntu) |
SERVER_NAME | bookishbiker.com |
SERVER_ADDR | 164.92.104.23 |
SERVER_PORT | 443 |
REMOTE_ADDR | 3.239.59.193 |
DOCUMENT_ROOT | /mnt/www/reviews |
REQUEST_SCHEME | https |
CONTEXT_PREFIX | |
CONTEXT_DOCUMENT_ROOT | /mnt/www/reviews |
SERVER_ADMIN | www@bookishbiker.com |
SCRIPT_FILENAME | /mnt/www/reviews/index.php |
REMOTE_PORT | 38754 |
REDIRECT_URL | /tag/sydney-rose-parnell/ |
REDIRECT_QUERY_STRING | p=tag/sydney-rose-parnell/ |
GATEWAY_INTERFACE | CGI/1.1 |
SERVER_PROTOCOL | HTTP/1.1 |
REQUEST_METHOD | GET |
QUERY_STRING | p=tag/sydney-rose-parnell/ |
REQUEST_URI | /tag/sydney-rose-parnell/ |
SCRIPT_NAME | /index.php |
PHP_SELF | /index.php |
REQUEST_TIME_FLOAT | 1710825076.1412 |
REQUEST_TIME | 1710825076 |
CRAFT_APP_ID | CraftCMS--11740404-09de-4180-b243-6f03ac027da3 |
CRAFT_ENVIRONMENT | dev |
CRAFT_SECURITY_KEY | •••••••••••••••••••••••••••••••• |
CRAFT_DB_DRIVER | mysql |
CRAFT_DB_SERVER | localhost |
CRAFT_DB_PORT | 3306 |
CRAFT_DB_DATABASE | b_01 |
CRAFT_DB_USER | kiwigrrl |
CRAFT_DB_PASSWORD | •••••••••••• |
CRAFT_DB_SCHEMA | |
CRAFT_DB_TABLE_PREFIX | craft_ |
CRAFT_TEMPLATES_PATH | /mnt/www/media/bookish/templates |
PRIMARY_SITE_URL | https://bookishbiker.com/ |
ASSETS_BASE_URL | https://media.bookishbiker.com/bookish |
ASSETS_BASE_PATH | /mnt/www/media/bookish |