Александр 0 Опубликовано 26 апреля, 2013 Жалоба Share Опубликовано 26 апреля, 2013 В версии 1.70 вамшопа появилась новая фишка - массив категорий, проброшенный в шаблон. Сама фишка во вложении, можно использовать и на более ранних версиях. С помощью не хитрых условий, можно для определённой категории добавить вывод кода. Добавляется в product_info, product_options, или product_listing, product_reviews. Например, добавляем ссылку на описание таблиц размеров, ссылка своя для каждой категории: {php} // глобалим массив, для использования при включённых seo-url global $category_path_tpl_arr; $category_path_tpl = $category_path_tpl_arr; // приводим массив с наименованием категорий в нижний регистр // чтобы при поиске фразы не зависеть от регистра function strtolower_utf8($text){ $text = mb_convert_case($text, MB_CASE_LOWER, "UTF-8"); return $text; } // формируем список ссылок для категорий $category_path_tpl_lower = array_map( 'strtolower_utf8', $category_path_tpl_arr ); if ( in_array( 'рюкзаки', $category_path_tpl_lower )) $table_of_sizes = 'bp_tab.html'; if ( in_array( 'спальники', $category_path_tpl_lower )) $table_of_sizes = 'sb_tab.html'; if ( in_array( 'палатки', $category_path_tpl_lower )) $table_of_sizes = 'tent_tab.html'; if ( in_array( 'велорюкзаки', $category_path_tpl_lower )) $table_of_sizes = 'bike_bp_tab.html'; if ( in_array( 'велосумки для туризма', $category_path_tpl_lower )) $table_of_sizes = 'bike_pb_tab.html'; if ( in_array( 'велосумки для города', $category_path_tpl_lower )) $table_of_sizes = 'bike_pb_tab.html'; if ( in_array( 'женская велоодежда', $category_path_tpl_lower )) $table_of_sizes = 'bike_w_tab.html'; if ( in_array( 'детская велоодежда', $category_path_tpl_lower )) $table_of_sizes = 'bike_k_tab.html'; if ( in_array( 'мужская велоодежда', $category_path_tpl_lower )) $table_of_sizes = 'bike_m_tab.html'; if ( in_array( 'велообувь', $category_path_tpl_lower )) $table_of_sizes = 'bike_shoe_tab.html'; if ( in_array( 'велоаксессуары', $category_path_tpl_lower )) $table_of_sizes = 'bike_acessory_tab.html'; if ( in_array( 'зимняя женская одежда', $category_path_tpl_lower )) $table_of_sizes = 'w_tab.html'; if ( in_array( 'зимняя детская одежда', $category_path_tpl_lower )) $table_of_sizes = 'wk_tab.html'; if ( in_array( 'зимняя мужская одежда', $category_path_tpl_lower )) $table_of_sizes = 'm_tab.html'; if ( in_array( 'летняя женская одежда', $category_path_tpl_lower )) $table_of_sizes = 'w_tab.html'; if ( in_array( 'летняя детская одежда', $category_path_tpl_lower )) $table_of_sizes = 'k_tab.html'; if ( in_array( 'летняя мужская одежда', $category_path_tpl_lower )) $table_of_sizes = 'm_tab.html'; if ( in_array( 'термобелье', $category_path_tpl_lower )) $table_of_sizes = 'bl_tab.html'; if ( in_array( 'головные уборы', $category_path_tpl_lower )) $table_of_sizes = 'headwear_tab.html'; if ( in_array( 'перчатки', $category_path_tpl_lower )) $table_of_sizes = 'glove_tab.html'; $current_cat = ''; $current_cat = end( $category_path_tpl); // присвоили текущей категории переменную $current_cat // варианты поиска в определённом уровне категорий if ( strcasecmp( $category_path_tpl[0], 'распродажа' ) == 0 ) $table_of_sizes = 'skidki_tab.html'; // поиск в корневой категории if ( strcasecmp( $category_path_tpl_arr[0], 'распродажа' ) == 0 ) $table_of_sizes = 'skidki_tab.html'; // // поиск в корневой категории, через глобальный массив if ( strcasecmp( $current_cat, 'РАСПРОДАЖА' ) == 0 ) $table_of_sizes = 'skidki_tab.html'; // поиск в текущей категории if ( isset( $table_of_sizes ) ) { echo '<span class="product_options_field tableofsizes"><a href="http://site.ru/content/' . $table_of_sizes . '" class="zoom"><img src="images/zoom.png">Таблица размеров</a></span>'; } else { echo ' '; }; {/php} vamshop1.69-product_tpl_vars.v4.zip Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 26 апреля, 2013 Жалоба Share Опубликовано 26 апреля, 2013 Спасибо Ссылка на сообщение Поделиться на другие сайты
Александр 0 Опубликовано 26 апреля, 2013 Автор Жалоба Share Опубликовано 26 апреля, 2013 Если хотите, могу выслать multi_in_array, но ф-ция прописана в application_top.php . Сделана для того, чтобы найти фразу в массиве без учёта регистра и без привязки к utf-8. Кстати кое-что подробнее описано тут: http://php.ru/manual/function.in-array.html Приведу код , а то ссылки имеют свойство со временем пропадать: in_array (PHP 4, PHP 5) in_array — Проверяет, присутствует ли в массиве значение Описание bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) Ищет в haystack значение needle. Если strict не установлен, то при поиске будет использовано нестрогое сравнение. Список параметров needle Искомое значение. haystack Массив. strict Если третий параметр strict установлен в TRUE тогда функция in_array() также проверит соответствие типов параметра needle и соответствующего значения массива haystack. Возвращаемые значения Возвращает TRUE, если needle был найден в массиве, и FALSE в обратном случае. Список изменений Версия Описание 4.2.0 needle теперь может быть массивом. Примеры Пример #1 Пример использования in_array() <?php $os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) { echo "Нашел Irix"; } if (in_array("mac", $os)) { echo "Нашел mac"; }?> Второго совпадения не будет, потому что in_array() регистрозависима, таким образом, программа выведет: Нашел Irix Пример #2 Пример использования in_array() с параметром strict <?php $a = array('1.10', 12.4, 1.13); if (in_array('12.4', $a, true)) { echo "'12.4' найдено со строгой проверкой\n"; } if (in_array(1.13, $a, true)) { echo "1.13 найдено со строгой проверкой\n"; }?> Результат выполнения данного примера: 1.13 найдено со строгой проверкой Пример #3 Пример использования in_array() с массивом в качестве параметра needle <?php $a = array(array('p', 'h'), array('p', 'r'), 'o'); if (in_array(array('p', 'h'), $a)) { echo "'ph' найдено\n"; } if (in_array(array('f', 'i'), $a)) { echo "'fi' найдено\n"; } if (in_array('o', $a)) { echo "'o' найдено\n"; }?> Результат выполнения данного примера: 'ph' найдено 'o' найдено Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 26 апреля, 2013 Жалоба Share Опубликовано 26 апреля, 2013 Ну если есть, почему бы не выложить, лишним не будет ведь в любом случае. Ссылка на сообщение Поделиться на другие сайты
usvam 0 Опубликовано 13 мая, 2013 Жалоба Share Опубликовано 13 мая, 2013 В версии 1.70 вамшопа появилась новая фишка - массив категорий, проброшенный в шаблон. Сама фишка во вложении, можно использовать и на более ранних версиях. С помощью не хитрых условий, можно для определённой категории добавить вывод кода. Добавляется в product_info, product_options, или product_listing, product_reviews. Например, добавляем ссылку на описание таблиц размеров, ссылка своя для каждой категории: {php} // глобалим массив, для использования при включённых seo-url global $category_path_tpl_arr; $category_path_tpl = $category_path_tpl_arr; // приводим массив с наименованием категорий в нижний регистр // чтобы при поиске фразы не зависеть от регистра function strtolower_utf8($text){ $text = mb_convert_case($text, MB_CASE_LOWER, "UTF-8"); return $text; } // формируем список ссылок для категорий $category_path_tpl_lower = array_map( 'strtolower_utf8', $category_path_tpl_arr ); if ( in_array( 'рюкзаки', $category_path_tpl_lower )) $table_of_sizes = 'bp_tab.html'; if ( in_array( 'спальники', $category_path_tpl_lower )) $table_of_sizes = 'sb_tab.html'; if ( in_array( 'палатки', $category_path_tpl_lower )) $table_of_sizes = 'tent_tab.html'; if ( in_array( 'велорюкзаки', $category_path_tpl_lower )) $table_of_sizes = 'bike_bp_tab.html'; if ( in_array( 'велосумки для туризма', $category_path_tpl_lower )) $table_of_sizes = 'bike_pb_tab.html'; if ( in_array( 'велосумки для города', $category_path_tpl_lower )) $table_of_sizes = 'bike_pb_tab.html'; if ( in_array( 'женская велоодежда', $category_path_tpl_lower )) $table_of_sizes = 'bike_w_tab.html'; if ( in_array( 'детская велоодежда', $category_path_tpl_lower )) $table_of_sizes = 'bike_k_tab.html'; if ( in_array( 'мужская велоодежда', $category_path_tpl_lower )) $table_of_sizes = 'bike_m_tab.html'; if ( in_array( 'велообувь', $category_path_tpl_lower )) $table_of_sizes = 'bike_shoe_tab.html'; if ( in_array( 'велоаксессуары', $category_path_tpl_lower )) $table_of_sizes = 'bike_acessory_tab.html'; if ( in_array( 'зимняя женская одежда', $category_path_tpl_lower )) $table_of_sizes = 'w_tab.html'; if ( in_array( 'зимняя детская одежда', $category_path_tpl_lower )) $table_of_sizes = 'wk_tab.html'; if ( in_array( 'зимняя мужская одежда', $category_path_tpl_lower )) $table_of_sizes = 'm_tab.html'; if ( in_array( 'летняя женская одежда', $category_path_tpl_lower )) $table_of_sizes = 'w_tab.html'; if ( in_array( 'летняя детская одежда', $category_path_tpl_lower )) $table_of_sizes = 'k_tab.html'; if ( in_array( 'летняя мужская одежда', $category_path_tpl_lower )) $table_of_sizes = 'm_tab.html'; if ( in_array( 'термобелье', $category_path_tpl_lower )) $table_of_sizes = 'bl_tab.html'; if ( in_array( 'головные уборы', $category_path_tpl_lower )) $table_of_sizes = 'headwear_tab.html'; if ( in_array( 'перчатки', $category_path_tpl_lower )) $table_of_sizes = 'glove_tab.html'; $current_cat = ''; $current_cat = end( $category_path_tpl); // присвоили текущей категории переменную $current_cat // варианты поиска в определённом уровне категорий if ( strcasecmp( $category_path_tpl[0], 'распродажа' ) == 0 ) $table_of_sizes = 'skidki_tab.html'; // поиск в корневой категории if ( strcasecmp( $category_path_tpl_arr[0], 'распродажа' ) == 0 ) $table_of_sizes = 'skidki_tab.html'; // // поиск в корневой категории, через глобальный массив if ( strcasecmp( $current_cat, 'РАСПРОДАЖА' ) == 0 ) $table_of_sizes = 'skidki_tab.html'; // поиск в текущей категории if ( isset( $table_of_sizes ) ) { echo '<span class="product_options_field tableofsizes"><a href="http://site.ru/content/' . $table_of_sizes . '" class="zoom"><img src="images/zoom.png">Таблица размеров</a></span>'; } else { echo ' '; }; {/php} А где должны лежать htlm файлы с таблицами, в какую папку их вставлять? Ссылка на сообщение Поделиться на другие сайты
Александр 0 Опубликовано 23 февраля, 2014 Автор Жалоба Share Опубликовано 23 февраля, 2014 А где должны лежать htlm файлы с таблицами, в какую папку их вставлять? в коде же указано - http://site.ru/content/, можно {$mainpage}content/file.html Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения