Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Olegich

Новачок
  
  • Публікації

    11
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем Olegich

  1. Замените вставку в п.2 на следующее:

    $config_currency_fee=$db->query("SELECT config_currency_fee FROM " . DB_PREFIX . "setting WHERE store_id = '0'")->fetch(PDO::FETCH_ASSOC);
    $currency_fee = 1.0;
    if (!isset($config_currency_fee['config_currency_fee'])) { $currency_fee = $config_currency_fee['config_currency_fee']; }
    

    Чтобы это работало, нужно сначала в админской панели задать коэффициент и, возможно, уточнить идентификатор магазина (store_id в таблице setting)

     

    Сделал все как сказали. Для надежности все испытывал на свеже-установленном магазине.

    При переходе по ссылке ocstore.loc/currency_uah.php (для обновления курсов) выдает ошибку

    96e6d5a953.png

    коэффициент:

    715f8ae26c.png

     

    store_id в таблице setting имеет значение "0" везде (смотрел через phpMyAdmin, если я вас правильно понял).

    Может имеет значение расположение файла currency_uah.php ?

    Вот конечный файл currency_uah.php

    /**

    * @Author Spy-Reality

    * @Date of creation 14.03.2014

    * @Date of renovation 16.08.2014

    * @Site http://spy-reality.in.ua

    * Парсер керса валют с ПРИВАТ 24 в OPENCART

    */

    // Подключение к БД

    include 'config.php';

    $dbhost = DB_HOSTNAME;

    $dbuser = DB_USERNAME;

    $dbpass = DB_PASSWORD;

    $dbname = DB_DATABASE;

    $sqlchar='utf8';

    $db = new PDO ( 'mysql:host=' . $dbhost . ';dbname=' . $dbname, $dbuser, $dbpass);

    $db->query ( 'SET character_set_connection = '.$sqlchar );

    $db->query ( 'SET character_set_client = '.$sqlchar );

    $db->query ( 'SET character_set_results = '.$sqlchar );

    $config_currency_fee=$db->query("SELECT config_currency_fee FROM " . DB_PREFIX . "setting WHERE store_id = '0'")->fetch(PDO::FETCH_ASSOC);

    $currency_fee = 1.0;

    if (!isset($config_currency_fee['config_currency_fee'])) { $currency_fee = $config_currency_fee['config_currency_fee']; }

    $default=$db->query("SELECT code FROM " . DB_PREFIX . "currency WHERE value='1.00000000'")->fetch(PDO::FETCH_ASSOC);

    if($default['code']== 'UAH'){

    $xml = simplexml_load_file('https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=4');

    $price=1; // одна гривна;

    $eur=$xml->xpath('//exchangerate[@ccy=EUR]');

    $codEUR=$eur[0]->attributes()->ccy;

    $valEUR=$eur[0]->attributes()->sale;

    $conEUR = $price / $valEUR * $currency_fee; // Корвентация в евро;

    $usd=$xml->xpath('//exchangerate[@ccy=USD]');

    $codUSD=$usd[0]->attributes()->ccy;

    $valUSD=$usd[0]->attributes()->sale;

    $conUSD = $price / $valUSD * $currency_fee; // Конвертация в доллар;

    $rub=$xml->xpath('//exchangerate[@ccy=RUR]');

    $codRUB=$rub[0]->attributes()->ccy;

    $valRUB=$rub[0]->attributes()->sale;

    $conRUB=$price/$valRUB; // Конвертация в рубль;

    $pln=$xml->xpath('//exchangerate[@ccy=PLZ]');

    $codPLN=$pln[0]->attributes()->ccy;

    $valPLN=$pln[0]->attributes()->sale;

    $conPLN=$price/$valPLN; // Корвентация в злотый;

    date_default_timezone_set('Europe/Kiev');

    $date=date('Y-m-d H:i:s');

    $stmt = $db->query("SELECT code FROM " . DB_PREFIX . "currency");

    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

    //echo $row['code'] ;

    switch ($row['code']){

    case 'UAH':

    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '1.00000000', date_modified = '" . $date . "' WHERE code = 'UAH'");

    break;

    case $codEUR:

    if($valEUR==true){

    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($conEUR, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = '" . $codEUR . "'");

    }else{

    echo "Валюта EUR не обновлена (нет курса)

    ";

    }

    break;

    case $codRUB:

    if($valRUB==true){

    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($conRUB, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = '" . $codRUB . "'");

    }else{

    echo "Валюта RUB не обновлена (нет курса)

    ";

    }

    break;

    case $codUSD:

    if($valUSD==true){

    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($conUSD, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = '" . $codUSD . "'");

    }else{

    echo "Валюта USD не обновлена (нет курса)

    ";

    }

    break;

    case $codPLN:

    if($valPLN==true){

    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($conEUR, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = '" . $codEUR . "'");

    }else{

    echo "Валюта PLN не обновлена (нет курса)

    ";

    }

    break;

    }

    }

    $defaultd=$db->query("SELECT date_modified FROM " . DB_PREFIX . "currency WHERE code='UAH'")->fetch(PDO::FETCH_ASSOC);

    echo 'Курс обновился в ('.$defaultd['date_modified'].')';

    }elseif($default['code']== 'USD'){

    $xml = simplexml_load_file('https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=4');

    $usd=$xml->xpath('//exchangerate[@ccy=USD]');

    $valUSD=$usd[0]->attributes()->sale;

    $eur=$xml->xpath('//exchangerate[@ccy=EUR]');

    $valEUR=$eur[0]->attributes()->sale;

    $euro=$valUSD/$valEUR;

    date_default_timezone_set('Europe/Kiev');

    $date=date('Y-m-d H:i:s');

    $stmt = $db->query("SELECT code FROM " . DB_PREFIX . "currency");

    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

    switch ($row['code']){

    case 'USD':

    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '1.00000000', date_modified = '" . $date . "' WHERE code = 'USD'");

    break;

    case 'UAH':

    if($valUSD==true){

    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . $valUSD . "', date_modified = '" . $date . "' WHERE code = 'UAH'");

    }else{

    echo "Валюта UAH не обновлена (нет курса)

    ";

    }

    break;

    case 'EUR':

    if($euro==true){

    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($euro, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = 'EUR'");

    }else{

    echo "Валюта EUR не обновлена (нет курса)

    ";

    }

    break;

    }

    }

    $defaultd=$db->query("SELECT date_modified FROM " . DB_PREFIX . "currency WHERE code='USD'")->fetch(PDO::FETCH_ASSOC);

    echo 'Курс обновился в ('.$defaultd['date_modified'].')';

    }elseif($default['code']== 'EUR'){

    $xml = simplexml_load_file('https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=4');

    $eur=$xml->xpath('//exchangerate[@ccy=EUR]');

    $valEUR=$eur[0]->attributes()->sale;

    $usd=$xml->xpath('//exchangerate[@ccy=USD]');

    $valUSD=$usd[0]->attributes()->sale;

    $dollar=$valEUR/$valUSD;

    date_default_timezone_set('Europe/Kiev');

    $date=date('Y-m-d H:i:s');

    $stmt = $db->query("SELECT code FROM " . DB_PREFIX . "currency");

    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

    switch ($row['code']){

    case 'EUR':

    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '1.00000000', date_modified = '" . $date . "' WHERE code = 'EUR'");

    break;

    case 'UAH':

    if($valEUR==true){

    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . $valEUR . "', date_modified = '" . $date . "' WHERE code = 'UAH'");

    }else{

    echo "Валюта UAH не обновлена (нет курса)

    ";

    }

    case 'USD':

    if($valEUR==true){

    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($dollar, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = 'USD'");

    }else{

    echo "Валюта USD не обновлена (нет курса)

    ";

    }

    break;

    }

    }

    $defaultd=$db->query("SELECT date_modified FROM " . DB_PREFIX . "currency WHERE code='EUR'")->fetch(PDO::FETCH_ASSOC);

    echo 'Курс обновился в ('.$defaultd['date_modified'].')';

    }else{

    echo 'Курс не обновился!';

    }

    ?>

  2. Также озадачился данной проблемой. У меня вообще какие-то чудеса происходят. Реальность меняется на глазах.

    Я пробовал убрать убрать часть кода в файле ВАШ_САЙТ\catalog\view\theme\maket\template\module\language.tpl

    А именно удалил <?php echo $text_language; ?> в блоке <div id="language">

    Конечный код:

    <?php if (count($languages) > 1) { ?>
    <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
      <div id="language">
        <?php foreach ($languages as $language) { ?>
        <img src="image/flags/<?php echo $language['image']; ?>" alt="<?php echo $language['name']; ?>" title="<?php echo $language['name']; ?>" onclick="$('input[name=\'language_code\']').attr('value', '<?php echo $language['code']; ?>'); $(this).parent().parent().submit();" />
        <?php } ?>
        <input type="hidden" name="language_code" value="" />
        <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
      </div>
    </form>
    <?php } ?>
    

    но надпись "Язык" остается. Более того, если удалить все кроме самого блока <div id="language"> то все остается, да к тому же и работает переключение языков

    <?php if (count($languages) > 1) { ?>
    <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
      <div id="language">
        
        
      </div>
    </form>
    <?php } ?>
    

    Вот что в Fireиug выдает

     

    KAxjpbZfVEDym8.jpg

     

    Только после удаления блока <div id="language"> языки исчезают полностью.

    Как такое может быть?

     

    Разобрался. Дело в том, что у меня был установлен модуль SEO мультиязык PRO, который ввел меня в заблуждение. Удаление строки <?php echo $text_language; ?> нужно было делать в самом модуле.

  3. Проверить не могу, поэтому попробуйте и напишите, что получилось.

    1. Уберите изменения, сделанные по моему коду в admin/model/localisation/currency.php

    2. В Ваш модуль перед

    $default=$db->query("SELECT code FROM " . DB_PREFIX . "currency WHERE value='1.00000000'")->fetch(PDO::FETCH_ASSOC);

    добавьте строки

    $currency_fee = $this->config->get('config_currency_fee');
    if (!isset($currency_fee)) {  $currency_fee = 1.0;}

    Если всё правильно, то в этой переменной будет введенный коэффициент конвертации.

    3. Дальше используйте этот коэффициент в строках, где получаете соответствующие курсы

    $conEUR = $price / $valEUR * $currency_fee; // Конвертация в евро;
    ......
    $conUSD = $price / $valUSD * $currency_fee; // Конвертация в доллар;

    Если написать так и коэффициент больше единицы, то вы "повысите" курс гривны. Остальное - по аналогии.

     

     

    Ругается на изменения по второму пункту:

     

    1ba119a6fc.png

  4.  

    для хитов и прочих модулей кроме рекомендуемых нужно писать не product_info а result 

     $this->data['attribute_groups'] = $this->model_catalog_product->getProductAttributes($result['product_id']);
    

     

    Что то ему не нравится. Ошибка

     

    Notice: Undefined index: attribute_groups in... ...template\module\bestseller.tpl on line 20

     

    bestseller.tpl

    <div class="attributeModule">
    	<?php if ($product['attribute_groups']) { ?>
    		<?php foreach ($product['attribute_groups'] as $attribute_group) { ?>
    			<?php foreach ($attribute_group['attribute'] as $attribute) { ?>
    				<?php echo $attribute['text']; ?>
    			<?php } ?>
    		<?php } ?>
    	<?php } ?>
    </div>
    

    bestseller.php

    foreach ($results as $result) {
    		if ($result['image']) {
    			$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);
    		} else {
    			$image = false;
    		}
    		$this->data['attribute_groups'] = $this->model_catalog_product->getProductAttributes($result['product_id']);						
    		if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    			$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
    		} else {
    			$price = false;
    		}
    					
    		if ((float)$result['special']) {
    			$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
    		} else {
    			$special = false;
    		}	
    			
    		if ($this->config->get('config_review_status')) {
    			$rating = $result['rating'];
    		} else {
    			$rating = false;
    		}
    							
    		$this->data['products'][] = array(
    			'product_id' => $result['product_id'],
    			'thumb'   	 => $image,
    			'name'    	 => $result['name'],
    			'price'   	 => $price,
    			'special' 	 => $special,
    			'rating'     => $rating,
    			'reviews'    => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
    			'href'    	 => $this->url->link('product/product', 'product_id=' . $result['product_id']),
    		);
    }
    
  5. Верь в себя и в свою цель... В контроллере я вставил примерно сюда:

    if ($product_info) {
        if ($product_info['image']) {
    	 $image = $this->model_tool_image->resize($product_info['image'], $setting['image_width'], $setting['image_height']);
        } else {
    	 $image = false;
        }
        $this->data['attribute_groups'] = $this->model_catalog_product->getProductAttributes($product_info['product_id']);
        if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    	 $price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
        } else {
    	 $price = false;
        }
       
        if ((float)$product_info['special']) {
    	 $special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
        } else {
    	 $special = false;
        }
    

     

    Спасибо. Все сделал и работает с модулем "Рекомендуемые". Попробовал тоже самое сделать с модулями "Последние" и "Хиты продаж". Увы фокус не получился. Ошибка :(

    У меня на главной выводятся три эти модуля, разметка у них должна быть одинаковая.

  6. Установил currency_fee от mrvira. 

    У меня вопрос. Как привязать фикс к файлу currency_uah.php ? Обновление идет с нужно мне банка. Файл размещается в корне сайта и запускается по расписанию. При этом отключается автоматическое обновление курсов в админке.

    /**
    * @Author Spy-Reality
    * @Date of creation 14.03.2014
    * @Date of renovation 16.08.2014
    * @Site http://spy-reality.in.ua
    * Парсер керса валют с ПРИВАТ 24 в OPENCART
    */


    // Подключение к БД
    include 'config.php';
    $dbhost = DB_HOSTNAME;
    $dbuser = DB_USERNAME;
    $dbpass = DB_PASSWORD;
    $dbname = DB_DATABASE;
    $sqlchar='utf8';


    $db = new PDO ( 'mysql:host=' . $dbhost . ';dbname=' . $dbname, $dbuser, $dbpass);
    $db->query ( 'SET character_set_connection = '.$sqlchar );
    $db->query ( 'SET character_set_client = '.$sqlchar );
    $db->query ( 'SET character_set_results = '.$sqlchar );

    $default=$db->query("SELECT code FROM " . DB_PREFIX . "currency WHERE value='1.00000000'")->fetch(PDO::FETCH_ASSOC);

    if($default['code']== 'UAH'){
    $xml = simplexml_load_file('https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=4');

    $price=1; // одна гривна;

    $eur=$xml->xpath('//exchangerate[@ccy=EUR]');
    $codEUR=$eur[0]->attributes()->ccy;
    $valEUR=$eur[0]->attributes()->sale;
    $conEUR=$price/$valEUR; // Корвентация в евро;

    $usd=$xml->xpath('//exchangerate[@ccy=USD]');
    $codUSD=$usd[0]->attributes()->ccy;
    $valUSD=$usd[0]->attributes()->sale;
    $conUSD=$price/$valUSD; // Конвертация в доллар;

    $rub=$xml->xpath('//exchangerate[@ccy=RUR]');
    $codRUB=$rub[0]->attributes()->ccy;
    $valRUB=$rub[0]->attributes()->sale;
    $conRUB=$price/$valRUB; // Конвертация в рубль;

    $pln=$xml->xpath('//exchangerate[@ccy=PLZ]');
    $codPLN=$pln[0]->attributes()->ccy;
    $valPLN=$pln[0]->attributes()->sale;
    $conPLN=$price/$valPLN; // Корвентация в злотый;


    date_default_timezone_set('Europe/Kiev');
    $date=date('Y-m-d H:i:s');

    $stmt = $db->query("SELECT code FROM " . DB_PREFIX . "currency");
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    //echo $row['code'] ;
    switch ($row['code']){
    case 'UAH':
    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '1.00000000', date_modified = '" . $date . "' WHERE code = 'UAH'");
    break;
    case $codEUR:
    if($valEUR==true){
    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($conEUR, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = '" . $codEUR . "'");
    }else{
    echo "Валюта EUR не обновлена (нет курса)
    ";
    }
    break;
    case $codRUB:
    if($valRUB==true){
    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($conRUB, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = '" . $codRUB . "'");
    }else{
    echo "Валюта RUB не обновлена (нет курса)
    ";
    }
    break;
    case $codUSD:
    if($valUSD==true){
    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($conUSD, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = '" . $codUSD . "'");
    }else{
    echo "Валюта USD не обновлена (нет курса)
    ";
    }
    break;
    case $codPLN:
    if($valPLN==true){
    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($conEUR, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = '" . $codEUR . "'");
    }else{
    echo "Валюта PLN не обновлена (нет курса)
    ";
    }
    break;
    }

    }
    $defaultd=$db->query("SELECT date_modified FROM " . DB_PREFIX . "currency WHERE code='UAH'")->fetch(PDO::FETCH_ASSOC);
    echo 'Курс обновился в ('.$defaultd['date_modified'].')';

    }elseif($default['code']== 'USD'){
    $xml = simplexml_load_file('https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=4');

    $usd=$xml->xpath('//exchangerate[@ccy=USD]');
    $valUSD=$usd[0]->attributes()->sale;

    $eur=$xml->xpath('//exchangerate[@ccy=EUR]');
    $valEUR=$eur[0]->attributes()->sale;
    $euro=$valUSD/$valEUR;

    date_default_timezone_set('Europe/Kiev');
    $date=date('Y-m-d H:i:s');

    $stmt = $db->query("SELECT code FROM " . DB_PREFIX . "currency");
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    switch ($row['code']){
    case 'USD':
    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '1.00000000', date_modified = '" . $date . "' WHERE code = 'USD'");
    break;
    case 'UAH':
    if($valUSD==true){
    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . $valUSD . "', date_modified = '" . $date . "' WHERE code = 'UAH'");
    }else{
    echo "Валюта UAH не обновлена (нет курса)
    ";
    }
    break;
    case 'EUR':
    if($euro==true){
    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($euro, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = 'EUR'");
    }else{
    echo "Валюта EUR не обновлена (нет курса)
    ";
    }
    break;
    }
    }
    $defaultd=$db->query("SELECT date_modified FROM " . DB_PREFIX . "currency WHERE code='USD'")->fetch(PDO::FETCH_ASSOC);
    echo 'Курс обновился в ('.$defaultd['date_modified'].')';

    }elseif($default['code']== 'EUR'){

    $xml = simplexml_load_file('https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=4');

    $eur=$xml->xpath('//exchangerate[@ccy=EUR]');
    $valEUR=$eur[0]->attributes()->sale;

    $usd=$xml->xpath('//exchangerate[@ccy=USD]');
    $valUSD=$usd[0]->attributes()->sale;
    $dollar=$valEUR/$valUSD;

    date_default_timezone_set('Europe/Kiev');
    $date=date('Y-m-d H:i:s');

    $stmt = $db->query("SELECT code FROM " . DB_PREFIX . "currency");

    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

    switch ($row['code']){

    case 'EUR':
    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '1.00000000', date_modified = '" . $date . "' WHERE code = 'EUR'");
    break;
    case 'UAH':
    if($valEUR==true){
    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . $valEUR . "', date_modified = '" . $date . "' WHERE code = 'UAH'");
    }else{
    echo "Валюта UAH не обновлена (нет курса)
    ";
    }
    case 'USD':
    if($valEUR==true){
    $db->exec("UPDATE " . DB_PREFIX . "currency SET value = '" . number_format($dollar, 8, '.', '') . "', date_modified = '" . $date . "' WHERE code = 'USD'");
    }else{
    echo "Валюта USD не обновлена (нет курса)
    ";
    }
    break;
    }

    }

    $defaultd=$db->query("SELECT date_modified FROM " . DB_PREFIX . "currency WHERE code='EUR'")->fetch(PDO::FETCH_ASSOC);
    echo 'Курс обновился в ('.$defaultd['date_modified'].')';

    }else{
    echo 'Курс не обновился!';
    }

    ?>

     

    Подскажите, пожалуйста, как решить задачку.

    Спасибо.

  7. А что, она у вас физически существует эта самая страница  product/manufacturer_list  ?))))))))

     

    Информацию брал здесь

     

    Папка product/ 

    category.tpl - вывод группы товаров

    manufacturer.tpl - вывод товаров по производителю (в 1.5.х не используется)

    manufacturer_info.tpl - вывод товаров по производителю (только в 1.5.х)

    manufacturer_list.tpl - страница со списком всех производителей (только в 1.5.х)

    product.tpl - вывод одного товара

    review.tpl - вывод отзыва о товаре в шаблоне product.tpl

    search.tpl - поиск и результаты поиска

    special.tpl - выбор специальных предложений (Special Offers)

    compare.tpl - страница сравнения товаров (только в 1.5.х)

     

    manufacturer_list взял только для примера.

    В футере стандартного шаблона есть ссылка "Производители". У меня страница имеет следующий адрес: http://название_магазина/brands/

    Это разве не одно и то же?

  8. Подскажите а как поменять ссылки в шапке (Главная, Закладки, Коззина покупок, Оформление заказа) с поддержкой мультиязычности. Т.е. чтоб не просто вставить ссылку в виде <a href="http://ваш_сайт/contacts'>http://ваш_сайт/contacts">Контакты</a> а с помощью php.

    Как я понимаю нужно менять файлы:

    http://ваш_сайт/catalog/language/russian/common/header.php'>http://ваш_сайт/catalog/language/russian/common/header.php - языковой файл

    http://ваш_сайт/catalog/controller/common/header.php '>http://ваш_сайт/catalog/controller/common/header.php 

    http://ваш_сайт/catalog/view/theme/ваша_тема/template/common/header.tpl'>http://ваш_сайт/catalog/view/theme/ваша_тема/template/common/header.tpl - файл шаблона

     

    Проделанные действия:

    добавил необходимые ссылки в header.tpl в <div class="links"> 

    Для примера добавил ссылку на список производителей manufacturer_list (строка 90)

    <div class="links">
    	  <a href="<?php echo $home; ?>"><?php echo $text_home; ?></a>
    	  <a href="<?php echo $manufacturer_list; ?>"><?php echo $manufacturer_list; ?></a>
    	  <a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a>
    	  <a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a>
    	  <a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a>
      </div> 
    

    Добавил две строки (41 и 52) в файл http://ваш_сайт/catalog/controller/common/header.php 

    $this->language->load('common/header');
    		$this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));
    		$this->data['og_image'] = $this->document->getOgImage();
    		
    		$this->data['text_home'] = $this->language->get('text_home');
    		$this->data['text_manufacturer_list'] = $this->language->get('text_manufacturer_list');
    		$this->data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));
    		$this->data['text_shopping_cart'] = $this->language->get('text_shopping_cart');
        	$this->data['text_search'] = $this->language->get('text_search');
    		$this->data['text_welcome'] = sprintf($this->language->get('text_welcome'), $this->url->link('account/login', '', 'SSL'), $this->url->link('account/register', '', 'SSL'));
    		$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL'));
    		$this->data['text_account'] = $this->language->get('text_account');
    		$this->data['text_checkout'] = $this->language->get('text_checkout');
    		$this->data['text_page'] = $this->language->get('text_page');
    				
    		$this->data['home'] = $this->url->link('common/home');
    		$this->data['manufacturer_list'] = $this->url->link('product/manufacturer_list');
    		$this->data['wishlist'] = $this->url->link('account/wishlist', '', 'SSL');
    		$this->data['logged'] = $this->customer->isLogged();
    		$this->data['account'] = $this->url->link('account/account', '', 'SSL');
    		$this->data['shopping_cart'] = $this->url->link('checkout/cart');
    		$this->data['checkout'] = $this->url->link('checkout/checkout', '', 'SSL');
     
    

    Добавил текст ссылки (строка 12) в файле http://ваш_сайт/catalog/language/russian/common/header.php

    <?php
    // Text
    $_['text_home']           	= 'Главная';
    $_['text_wishlist']       	= 'Закладки (%s)';
    $_['text_shopping_cart']  	= 'Корзина покупок';
    $_['text_search']        	= 'Поиск';
    $_['text_welcome']      	= '<a href="%s">Войти</a> или <a href="%s">зарегистрироваться</a>';
    $_['text_logged']       	= 'Вы вошли как <a href="%s">%s</a> <b>(</b> <a href="%s">Выйти</a> <b>)</b>';
    $_['text_account']      	= 'Постоянный покупатель';
    $_['text_checkout']      	= 'Оформление заказа';
    $_['text_page']           	= 'страница';
    $_['text_manufacturer_list']   	= 'Производители';
    ?>
    

    В результате выводит страницу магазина "Запрашиваемая страница не найдена!"

    Подскажите, что и где нужно изменить, чтоб все работало.

  9. Подскажите а как поменять ссылки с поддержкой мультиязычности. Т.е. чтоб не просто вставить ссылку в виде <a href="http://ваш_сайт/contacts">Контакты</a> а с помощью php.

    Как я понимаю нужно менять файлы:

    http://ваш_сайт/catalog/language/russian/common/header.php - языковой файл

    http://ваш_сайт/catalog/controller/common/header.php 

    http://ваш_сайт/catalog/view/theme/ваша_тема/template/common/header.tpl - файл шаблона

     

    Проделанные действия:

    добавил необходимые ссылки в header.tpl в <div class="links"> 

    Для примера добавил ссылку на список производителей manufacturer_list (строка 90)

      <div class="links">
    	  <a href="<?php echo $home; ?>"><?php echo $text_home; ?></a>
    	  <a href="<?php echo $manufacturer_list; ?>"><?php echo $manufacturer_list; ?></a>
    	  <a href="<?php echo $wishlist; ?>" id="wishlist-total"><?php echo $text_wishlist; ?></a>
    	  <a href="<?php echo $shopping_cart; ?>"><?php echo $text_shopping_cart; ?></a>
    	  <a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a>
      </div> 

    Добавил две строки (41 и 52) в файл http://ваш_сайт/catalog/controller/common/header.php 

    $this->language->load('common/header');
    		$this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));
    		$this->data['og_image'] = $this->document->getOgImage();
    		
    		$this->data['text_home'] = $this->language->get('text_home');
    		$this->data['text_manufacturer_list'] = $this->language->get('text_manufacturer_list');
    		$this->data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));
    		$this->data['text_shopping_cart'] = $this->language->get('text_shopping_cart');
        	$this->data['text_search'] = $this->language->get('text_search');
    		$this->data['text_welcome'] = sprintf($this->language->get('text_welcome'), $this->url->link('account/login', '', 'SSL'), $this->url->link('account/register', '', 'SSL'));
    		$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL'));
    		$this->data['text_account'] = $this->language->get('text_account');
    		$this->data['text_checkout'] = $this->language->get('text_checkout');
    		$this->data['text_page'] = $this->language->get('text_page');
    				
    		$this->data['home'] = $this->url->link('common/home');
    		$this->data['manufacturer_list'] = $this->url->link('product/manufacturer_list');
    		$this->data['wishlist'] = $this->url->link('account/wishlist', '', 'SSL');
    		$this->data['logged'] = $this->customer->isLogged();
    		$this->data['account'] = $this->url->link('account/account', '', 'SSL');
    		$this->data['shopping_cart'] = $this->url->link('checkout/cart');
    		$this->data['checkout'] = $this->url->link('checkout/checkout', '', 'SSL');
    
    

    Добавил текст ссылки (строка 12) в файле http://ваш_сайт/catalog/language/russian/common/header.php

    <?php
    // Text
    $_['text_home']           	= 'Главная';
    $_['text_wishlist']       	= 'Закладки (%s)';
    $_['text_shopping_cart']  	= 'Корзина покупок';
    $_['text_search']        	= 'Поиск';
    $_['text_welcome']      	= '<a href="%s">Войти</a> или <a href="%s">зарегистрироваться</a>';
    $_['text_logged']       	= 'Вы вошли как <a href="%s">%s</a> <b>(</b> <a href="%s">Выйти</a> <b>)</b>';
    $_['text_account']      	= 'Постоянный покупатель';
    $_['text_checkout']      	= 'Оформление заказа';
    $_['text_page']           	= 'страница';
    $_['text_manufacturer_list']   	= 'Производители';
    ?>
    

    В результате выводит страницу магазина "Запрашиваемая страница не найдена!"

    Подскажите, что и где нужно изменить, чтоб все работало.

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.