Начните с того, что проверьте наличие папки images и файлов изображений в ней.
benmer, а чем отличается "Redirect permanent" от "Redirect 301", кроме написания?
12Gerc, если у вас много однотипных редиректов, то можно использовать регулярные выражения. Вот полезный материал.
В конце февраля заказал данный курс. Вот прошло уже больше месяца и я готов написать отзыв.
Скажу сразу, KeyCollector у меня уже был и я им пользовался (как оказалось, это я так думал) для подбора ключевиков для нескольких проектов. На самом деле, чтобы полноценно использовать все возможности программы, недостаточно прочитать справку (хотя она и очень полная и подробная), еще необходимы немалый опыт и понимание того, что ты делаешь и для чего это делается, а также знание специфических приемов работы с Кейколлектором. Вот именно этим самым опытом автор курса и делится.
Видеоматериалов много, но в них нет воды и бессмысленных тыканий мышкой по экрану, как это обычно бывает во многих курсах, которые называются «авторскими». Вся информация изложена четко, последовательно и логично. Сразу видно, что автор хорошо продумал план занятий. Т.е. вы можете взять любой свой проект, и просматривая урок за уроком, подберете для этого проекта полный список ключевых слов, проведете группировку и узнаете, что с ними дальше делать. В общем, пройдете всю цепочку от начала до конца.
Я именно так и поступил, поэтому на изучение у меня ушло чуть больше месяца. Многие уроки я просматривал несколько раз, если оставались вопросы (это случалось не часто), то автор с удовольствием в скайпе отвечал на них, даже если эти вопросы не были связаны напрямую с тематикой уроков. После полного изучения всех материалов у меня остался только один вопрос: «Почему данный курс стоит так дешево?»
P.S. Дабы не возникало лишних вопросов, напишу сразу:
Да, именно так. Вы в файле шаблона пишете проверку на наличие модуля(ей) в конкретной позиции:
<?php if ($this->countModules('rbox')) : ?> <div><jdoc:include type="modules" name="rbox" /></div> <?php endif; ?>
а уже в самой джумле для модулей устанавливаете условия показа.
Так а как вы тогда хотите автоматом? Нужно тогда в любом случае указывать для каждого товара сопутствующие.
В любом случае, на мой взгляд, ставьте компонент, делайте экспорт, добавляйте поле related_products, потом импорт. Так будет значительно быстрее, чем вручную указывать средствами самого вирта.
Я так понимаю, что у вас товаров много. Вы же чем-то закидывали их в вирт или ручками? Для указания сопутствующих товаров можно попробовать использовать тот же инструмент.
Например, я использую CSVI VirtueMart. Создаете шаблон, там есть поле и для сопутствующих товаров, так и называется related_products. А дальше все просто, средствами Excel, например, размножаете значения этого поля и импортируете в ваш магазин.
Отвечу вам вашими же словами из более раннего поста:
Вы все верно написали, но необходимо учесть, что:
Есть такая функция show_price. Тогда получим
require_once(CLASSPATH. 'ps_product.php' ); $ps_product = new ps_product; $rowPrice = $ps_product->show_price($product_id); $shCustomKeywordsTag = $row->product_name.', Цена: '.stripslashes($rowPrice[product_price]).', '.($catList ? str_replace('|', ',', $catList).',':'').$shShopName. ','.$shStoreName;
Тогда внешний вид цены будет зависеть от разметки в файле:
/components/com_virtuemart/themes/default/templates/common/price.tpl.php
Если такой вариант не устраивает, то разбирайте эту функцию по частям и тащите то, что вам нужно.
Mr_Don, да, этот вариант у меня был первым :)
Почему написал именно второй, чтобы показать, каким образом можно получить дополнительную информацию о цене. Т.е. если вам придется учитывать скидки на товар или цены на атрибуты товаров, то проще будет использовать готовые функции вирта.
Все верно. Цену нужно брать из другой таблицы. Можно например воспользоваться классом самого виртмата:
require_once(CLASSPATH. 'ps_product.php' ); $ps_product = new ps_product; $rowPrice = $ps_product->get_price($product_id); $shCustomKeywordsTag = $row->product_name.', Цена: '.$rowPrice[product_price].', '.($catList ? str_replace('|', ',', $catList).',':'').$shShopName. ','.$shStoreName;
Предупреждаю, в данном случае вы получите базовую цену, без учета скидок!