Как создать и настроить свой веб-сервер на VDS (05 сен 2024)
Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?
JoomShopping: вывод HTML после каждых пяти товаров
- Aleksej
- Автор темы
- Не в сети
- Модератор
Less
Больше
6 года 3 мес. назад - 6 года 3 мес. назад #1
от Aleksej
Aleksej создал тему: JoomShopping: вывод HTML после каждых пяти товаров
Проблема вставки HTML после каждых пяти товаров JoomShopping решается обычно крайне несложно: в файле list_products.php шаблона
после строк
размещается позиция модуля с произвольным названием:
, эту же позицию модуля указываем в templateDetails.xml используемого шаблона, после чего вполне уже можно создавать новый модуль, содержаший нужный HTML, и размещать его в этой вновь созданной позиции. Как вариант - использовать Random HTML-code module (или аналоги), позволяющий рандомно выводить различный HTML.
Все, таким образом, более чем несложно, если рандомный HTML - это именно то, что вам необходимо для вашего интернет-магазина на базе JoomShopping. А что, если хочется после каждых пяти товаров выводить код не рандомно, а последовательно, строго по порядку: первый HTML-код, второй, третий, четвертый... снова первый, снова второй, и т.д.? - именно так почему-то захотелось пользователю PHP.RU форума, по ссылке .
Тогда все несколько сложнее.
В контексте PHP.RU форума , который в последнее время производит все более и более странное впечатление, имхо... см. по ссылке статью в блоге. Сразу отмечу, что отсутствие, по-видимому, у программистов форума элементарных знаний ООП (ответ на вопрос на момент публикации топика по прежнему "при наличии отсутствия") вызывает не меньшее удивление, чем и столь же явно выраженное нежелание горе-бизнесмена платить даже символические деньги за доработки своего интернет-магазина. Несолидно как-то, некрасиво; равно как первое, так и второе. Вероятно, именно этот анонимный интернет-магазинщик в дальнейшем, выклянчив на форумах свои хаки и циклы, сумеет предоставить своим клиентам сервис поистине экстра-класса... конечно, только в том случае, если горе-кодеры, в свою очередь, подзубрят и подучат PHP.
Впрочем, одно другого стоит. All right, в ожидании сего радостного момента я рад совершенно бесплатно помочь и тем и другим. Все, на самом-то деле, очень и очень несложно.
после строк
Code:
<?php if ($k % $this->count_product_to_row == $this->count_product_to_row - 1) : ?>
<div class = "clearfix"></div>
размещается позиция модуля с произвольным названием:
Code:
<?php
$document = &JFactory::getDocument();
$renderer = $document->loadRenderer('modules');
$options = array('style' => 'xhtml');
$position = 'Ваша позиция';
echo $renderer->render($position, $options, null);
?>
, эту же позицию модуля указываем в templateDetails.xml используемого шаблона, после чего вполне уже можно создавать новый модуль, содержаший нужный HTML, и размещать его в этой вновь созданной позиции. Как вариант - использовать Random HTML-code module (или аналоги), позволяющий рандомно выводить различный HTML.
Все, таким образом, более чем несложно, если рандомный HTML - это именно то, что вам необходимо для вашего интернет-магазина на базе JoomShopping. А что, если хочется после каждых пяти товаров выводить код не рандомно, а последовательно, строго по порядку: первый HTML-код, второй, третий, четвертый... снова первый, снова второй, и т.д.? - именно так почему-то захотелось пользователю PHP.RU форума, по ссылке .
Тогда все несколько сложнее.
В контексте PHP.RU форума , который в последнее время производит все более и более странное впечатление, имхо... см. по ссылке статью в блоге. Сразу отмечу, что отсутствие, по-видимому, у программистов форума элементарных знаний ООП (ответ на вопрос на момент публикации топика по прежнему "при наличии отсутствия") вызывает не меньшее удивление, чем и столь же явно выраженное нежелание горе-бизнесмена платить даже символические деньги за доработки своего интернет-магазина. Несолидно как-то, некрасиво; равно как первое, так и второе. Вероятно, именно этот анонимный интернет-магазинщик в дальнейшем, выклянчив на форумах свои хаки и циклы, сумеет предоставить своим клиентам сервис поистине экстра-класса... конечно, только в том случае, если горе-кодеры, в свою очередь, подзубрят и подучат PHP.
Впрочем, одно другого стоит. All right, в ожидании сего радостного момента я рад совершенно бесплатно помочь и тем и другим. Все, на самом-то деле, очень и очень несложно.
Последнее редактирование: 6 года 3 мес. назад пользователем Aleksej.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Aleksej
- Автор темы
- Не в сети
- Модератор
6 года 3 мес. назад - 6 года 3 мес. назад #2
от Aleksej
Aleksej ответил в теме JoomShopping: вывод HTML после каждых пяти товаров
Итак. Прежде всего, вспомним о Standard PHP Library, SPL, и обратимся именно к этому инструментарию. Попробуем оттолкнуться от скрипта:
, который выдаст нам следующее:
Приглядитесь внимательнее. Разве не именно то, что и требовалось? Уверяю, это именно оно.
А дальше все совсем просто:
Где-нибудь вверху файла (раньше, чем начнется foreach)
- включаем массив, элементы которого будут последовательно инициировать HTML после каждого пятого (например) товара:
, а там, где мы с вами только что размещали новую позицию модуля (вместо нее) - вписываем всего только две строчки кода:
Открываем витрину своего JoomShopping и любуемся. Ну вот, пожалуй, и вся на сегодня халява для очередного российского безымянного интернет-бизнесмена, также и для "кодеров" форума PHP.RU.
Code:
<?
$obj = new ArrayObject( ["apple", "orange", "grape", "plum"] );
$it = new InfiniteIterator(new ArrayIterator($obj));
$it->rewind();
// Iterate over the values in the ArrayObject:
$i = 0;
while( $i++ < 20){
echo $it->key() . ' => ' . $it->current() . "\n";
$it->next();
}
?>
, который выдаст нам следующее:
Code:
0 => apple 1 => orange 2 => grape 3 => plum 0 => apple 1 => orange 2 => grape 3 => plum 0 => apple 1 => orange 2 => grape 3 => plum 0 => apple 1 => orange 2 => grape 3 => plum 0 => apple 1 => orange 2 => grape 3 => plum
Приглядитесь внимательнее. Разве не именно то, что и требовалось? Уверяю, это именно оно.
А дальше все совсем просто:
Где-нибудь вверху файла (раньше, чем начнется foreach)
Code:
components/com_jshopping/templates/default/listproducts/list_products.php
- включаем массив, элементы которого будут последовательно инициировать HTML после каждого пятого (например) товара:
Code:
<?php
$obj = new ArrayObject( ['<div>HTML1</div>', "<div>HTML2</div>", "<div>HTML3</div>", "<div>HTML4</div>"] );
$it = new InfiniteIterator(new ArrayIterator($obj));
$it->rewind();
?>
, а там, где мы с вами только что размещали новую позицию модуля (вместо нее) - вписываем всего только две строчки кода:
Code:
<?php
echo $it->current();
$it->next();
?>
Открываем витрину своего JoomShopping и любуемся. Ну вот, пожалуй, и вся на сегодня халява для очередного российского безымянного интернет-бизнесмена, также и для "кодеров" форума PHP.RU.
Последнее редактирование: 6 года 3 мес. назад пользователем Aleksej.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.