shaklov 63 Опубликовано 18 мая, 2010 Жалоба Share Опубликовано 18 мая, 2010 Не могу получить метку {$PRODUCTS_CATEGORY_URL} (URL адрес категории товара) в шаблоне product_listing_columns.html. Хотя в руководстве она описана, и в файле \includes\classes\product.php в районе 490 строки в массив заносится. Даже заполнял поле "SEO URL категории", но не помогло. Еще желательно получить урл категории в карточке товара. Но мои нервы уже на пределе. Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 18 мая, 2010 Жалоба Share Опубликовано 18 мая, 2010 Погоди немного - помогу. Постулат Хорнера. =================== Опыт растет прямо пропорционально выведенному из строя оборудованию. Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 18 мая, 2010 Жалоба Share Опубликовано 18 мая, 2010 Закончим с первой частью - перейдём ко второй. в \includes\modules\product_listing.php впихни в кучу около 150-й строки (У меня эта строка - в середине - 2-я) ....$module->assign('CATEGORIES_HEADING_TITLE', $category['categories_heading_title']);$module->assign('PRODUCTS_CATEGORY_URL', vam_href_link(FILENAME_DEFAULT, vam_category_link($current_category_id,$foo[$current_category_id]['name'])) ); $module->assign('CATEGORIES_IMAGE', $image);....[/code]Ну и, соответственно метку сделай {$PRODUCTS_CATEGORY_URL} в файле product_listing_columns.htmlи проверь Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 19 мая, 2010 Автор Жалоба Share Опубликовано 19 мая, 2010 Да, заработало. У меня в исходнике версии 1.53 в этом месте вообще дырка, как будто эта строка там была. И далее патчами нигде не исправляется. В следующей версии вертайте взад. Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 19 мая, 2010 Жалоба Share Опубликовано 19 мая, 2010 link=topic=5758.msg48142#msg48142 date=1274258972]Да, заработало. У меня в исходнике версии 1.53 в этом месте вообще дырка, как будто эта строка там была. И далее патчами нигде не исправляется. В следующей версии вертайте взад. Я не знаю что там было. Скорее всего отступ "для читабельности кода". И потом, зачем в этом копаться? Давайте решим вашу проблему до конца. Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 19 мая, 2010 Автор Жалоба Share Опубликовано 19 мая, 2010 Ну хорошо. Еще желательно получить урл категории в карточке товара. А то я его сейчас получаю через index.php?cat={$CATEGORY_ID} Но если у категории прописан SEO-URL, то не открывается с фильтром &filter_id=... В общем нужно получить в карточке товара урл его категории - если прописан, то SEO, если нет то обычный. Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 19 мая, 2010 Жалоба Share Опубликовано 19 мая, 2010 Собственно, код почти тот же $info->assign('PRODUCTS_CATEGORY_URL', vam_href_link(FILENAME_DEFAULT, vam_category_link($current_category_id,$foo[$current_category_id]['name'])) ); только $module->assign замени на $info->assign Ну и вставь в includes\modules\product_info.php где-нибудь около 120-150-й строк. Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 19 мая, 2010 Автор Жалоба Share Опубликовано 19 мая, 2010 Спасибо, работает. Но только если указан SEO-url категории, то фильтр нужно добавлять через символ ?filter_id=5. А если обычный урл, то фильтр &filter_id=5. Не могу понять как мне в карточке товара такой урл сформировать. В других местах магазина это как-то автоматически делается. Даже пагинация по страницам в зависимости от SEO-url либо через ?, либо через &. Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 19 мая, 2010 Жалоба Share Опубликовано 19 мая, 2010 link=topic=5758.msg48162#msg48162 date=1274262756]Спасибо, работает. Но только если указан SEO-url категории, то фильтр нужно добавлять через символ ?filter_id=5. А если обычный урл, то фильтр &filter_id=5. Не могу понять как мне в карточке товара такой урл сформировать. В других местах магазина это как-то автоматически делается. Вот смотри: там используется функция vam_category_link (она в файле \inc\vam_category_link.inc.php) Вот она: function vam_category_link($cID,$cName='') { $cName = vam_cleanName($cName); $link = 'cat='.$cID; if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') $link = 'cat=c'.$cID.'_'.$cName.'.html'; return $link; } Удали в ней указанную строку и всё будет по-старому. P.S.: Можешь просто копию функции сделать, например, vam_category_link2 Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 19 мая, 2010 Автор Жалоба Share Опубликовано 19 мая, 2010 Похоже не то. Это проверка на включенный в админке пункт "Автоматически генерировать SEO URL" А у меня проблема с вручную заполненным полем "SEO URL категории". Так как не у всех категорий это поле заполнено, то получается проблема с присоединением фильтра к урлу категории: Если урл обычный, то фильтр с амперсанда начинать нужно Если СЕО-урл, то фильтр начинается с вопросительного знака Это не я придумал - это в движке так. Мне нужно в карточке товара вывести линк вида "урл-категории" + "filter_id={$MANUFACTURER_ID}". И не понятно какой символ использовать для соединения. Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 19 мая, 2010 Жалоба Share Опубликовано 19 мая, 2010 создай к примеру копию ф-ю function vam_category_link2($cID,$cName='', $params = null) { $cName = vam_cleanName($cName); if (null !== $params){ $link = 'cat='.$cID.'&'.$params; if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') $link = 'cat=c'.$cID.'_'.$cName.'.html?'.$params; } else { $link = 'cat='.$cID; if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') $link = 'cat=c'.$cID.'_'.$cName.'.html'; } return $link;}[/code] тут без проверок на то что передается в params тут неважно потом используешь [code]$info->assign('CATEGORY_FILTER1', vam_href_link(FILENAME_DEFAULT, vam_category_link2($current_category_id,$foo[$current_category_id]['name']), 'filter_id='.<id протзводителя> ) ); если принцыпиально это нужно добавлять в шаблоне то как вариант берешь твои урл категории парсиш его на наличие "?" если символ есть то добавляешь &filter= если нет то ?filter_id= Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 19 мая, 2010 Автор Жалоба Share Опубликовано 19 мая, 2010 SEARCH_ENGINE_FRIENDLY_URLS - это вообще мне не нужно, я это в админке не включал. Это при включенном урлы вида /cat=c01_название-категории.html , но я не об этом спрашиваю. Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 19 мая, 2010 Автор Жалоба Share Опубликовано 19 мая, 2010 ну всё, справился: <a href="{$PRODUCTS_CATEGORY_URL}{if stristr($PRODUCTS_CATEGORY_URL, '.html') == false}&{else}?{/if}filter_id={$MANUFACTURER_ID}" class="artistname">все '{$MANUFACTURER}' группы '{$CATEGORY}'</a>[/code]я же php вообще не знаю 8) Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 19 мая, 2010 Жалоба Share Опубликовано 19 мая, 2010 гугл знает все! он поможет :) если пхп не знаешь то же можно и на js сделать было) Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения