Полезности

Модель, вид, контроллер в Codeigniter 3

Опубликовано: Ноябрь 16, 2019 в 8:46 пп

Категории: Записки программиста,Полезности

Этот пост больше шпаргалка как с этим работать ежели какое то божественное разъяснение статья не дописана

Модель

Здесь мы

Контроллер

url следующего вида

<base_url>/index.php/<controller_name>/<controller_function>/<function_parameter_1>/>/<function_parameter_2>…

Тут мы создаем class например

class Posts extends CI_Controller{
    public function index(){
    
    }

}

вместо Post может быть любое название отвечающее за нужную задачу например : Registration, Action, Pages, начинаться должно с большой буквы.

class Posts extends CI_Controller{
    public function index(){
    // все что попадает в массив data становится перемененной во view в которую она отправляется
    // Тут мы в $data получаем результат выполнения функции в модели под названием например post_model
    $data['post'] = this->post_model->get_post();
    // get_post() выполниться и вернется к нам. с ним же можно передать переменную или другую информацию например get_post($category_id)
    }

}

Вид

Как установить «Отзывы клиентов» от Google Merchant Center в woocommerce

Опубликовано: Сентябрь 2, 2019 в 3:36 пп

Категории: Полезности

Как разместить модуль опроса?

1) Заходим в админку вашего сайта на вордпрессе

2) Тыкаем на Плагины > Редактор

3) Вверху справа выбираем плагин WooCommerce

4) Находим вкладку checkout и файл в нем thankyou.php

5) узнаем ваш merchant_id он же кодификатор продавца из Google Merchant Center тут

Ниже приведен готовый код в который нужно только указать ваш «merchant_id»

Пример того куда можно впихнуть код

<script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>
<script>
  window.renderOptIn = function() {
    window.gapi.load('surveyoptin', function() {
      window.gapi.surveyoptin.render(
        {
          // REQUIRED FIELDS
          "merchant_id": 123123123,
          "order_id": "<?php echo esc_html( $order->get_order_number() ); ?>",
          "email": "<?php echo $order->get_billing_email(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>",
          "delivery_country": "ru-RU",
          "estimated_delivery_date": "<?php echo date('Y-m-d'); ?>"

          // OPTIONAL FIELDS
         // "products": [{"gtin":"GTIN1"}, {"gtin":"GTIN2"}]
        });
    });
  }
</script>

В конце нужно нажать схоронить. И все, учтите при обновлении плагина woocomerce он может код «слететь», но в принципе оно не страшно, восстановить вы теперь сможете)

Правка изображений woocommerce

Опубликовано: Январь 11, 2019 в 12:52 пп

Категории: Полезности

Буду краток, у woocommerce совеобразное представление о формате изображений, и чтобы нам исправить изображения по высоте или ширине нужно провести  некоторые манипуляции…

Находим файл который отвечает за шаблон вывода картинок товаров в категории… путь примерно такой

/you-market.ru/public_html/wp-content/plugins/woocommerce/templates/content-product.php

Видим кучу хуков и теряем сознание(нет), но тут не сложно. Каждый хук отвечает за свою часть

Находим участок кода

<li <?php post_class(); ?>>
	<?php
	/**
	 * woocommerce_before_shop_loop_item hook.
	 *
	 * @hooked woocommerce_template_loop_product_link_open - 10
	 */
	do_action( 'woocommerce_before_shop_loop_item' );
    ?>
	<?php
	/**
	 * woocommerce_before_shop_loop_item_title hook.
	 *
	 * @hooked woocommerce_show_product_loop_sale_flash - 10
	 * @hooked woocommerce_template_loop_product_thumbnail - 10
	 */
	do_action( 'woocommerce_before_shop_loop_item_title' );
 ?>
	<?php
	/**
	 * woocommerce_shop_loop_item_title hook.
	 *
	 * @hooked woocommerce_template_loop_product_title - 10
	 */
	do_action( 'woocommerce_shop_loop_item_title' );

	/**
	 * woocommerce_after_shop_loop_item_title hook.
	 *
	 * @hooked woocommerce_template_loop_rating - 5
	 * @hooked woocommerce_template_loop_price - 10
	 */
	do_action( 'woocommerce_after_shop_loop_item_title' );

	/**
	 * woocommerce_after_shop_loop_item hook.
	 *
	 * @hooked woocommerce_template_loop_product_link_close - 5
	 * @hooked woocommerce_template_loop_add_to_cart - 10
	 */
	do_action( 'woocommerce_after_shop_loop_item' );
	?>
</li>

 

Меняем на

 

<li <?php post_class(); ?>>
	<?php
	/**
	 * woocommerce_before_shop_loop_item hook.
	 *
	 * @hooked woocommerce_template_loop_product_link_open - 10
	 */
	do_action( 'woocommerce_before_shop_loop_item' );
    ?>
    <div class="imgfix">
	<?php
	/**
	 * woocommerce_before_shop_loop_item_title hook.
	 *
	 * @hooked woocommerce_show_product_loop_sale_flash - 10
	 * @hooked woocommerce_template_loop_product_thumbnail - 10
	 */
	do_action( 'woocommerce_before_shop_loop_item_title' );
 ?>
    </div>
	<?php
	/**
	 * woocommerce_shop_loop_item_title hook.
	 *
	 * @hooked woocommerce_template_loop_product_title - 10
	 */
	do_action( 'woocommerce_shop_loop_item_title' );

	/**
	 * woocommerce_after_shop_loop_item_title hook.
	 *
	 * @hooked woocommerce_template_loop_rating - 5
	 * @hooked woocommerce_template_loop_price - 10
	 */
	do_action( 'woocommerce_after_shop_loop_item_title' );

	/**
	 * woocommerce_after_shop_loop_item hook.
	 *
	 * @hooked woocommerce_template_loop_product_link_close - 5
	 * @hooked woocommerce_template_loop_add_to_cart - 10
	 */
	do_action( 'woocommerce_after_shop_loop_item' );
	?>
</li>

Кто не заметил то  я взять в div блок участок с картинкой и теперь сможем задать высоту и ширину для изображений.

Далее нужно подправить в этом файле /you-market.ru/public_html/wp-content/plugins/woocommerce/includes/wc-template-functions.php примерно 2000 строка

		if ( $image ) {
			// Prevent esc_url from breaking spaces in urls for image embeds.
			// Ref: https://core.trac.wordpress.org/ticket/23605.
			$image = str_replace( ' ', '%20', $image );

			// Add responsive image markup if available.
			if ( $image_srcset && $image_sizes ) {
				echo '<img src="' . esc_url( $image ) . '" alt="' . esc_attr( $category->name ) . '" width="' . esc_attr( $dimensions['width'] ) . '" height="' . esc_attr( $dimensions['height'] ) . '" srcset="' . esc_attr( $image_srcset ) . '" sizes="' . esc_attr( $image_sizes ) . '" />';
			} else {
				echo '<img src="' . esc_url( $image ) . '" alt="' . esc_attr( $category->name ) . '" width="' . esc_attr( $dimensions['width'] ) . '" height="' . esc_attr( $dimensions['height'] ) . '" />';
			}
		}
	}
}

 

Как лучше всего подготовить csv файл для импорта

Опубликовано: Февраль 20, 2018 в 4:53 пп

Категории: Полезности

Закачивая csv файл для WooCommerce мы иногда сталкиваемся со страной загрузкой товаров и категорий.

Хочу рассказать вам несколько нюансов о их загрузке.

в начале нашего csv файла необходимо указать структуру например:
"Артикул";"Имя";"Цена";"Описание";"Изображения";"Категории"
Если их не будет, то исполняющий импорт woocomerce самостоятельно их себе представит. Разбросать может черти-как и произойдет сильное смещение
. Ну оно вам не нужно же?)

Следующим шагом сделать разделитель строк «;» он удобней и реже встречается в наименовании товара, категорий или описаний ежели «,». Опять же иначе если где-то в описании будет «,» да и «;»- то скорей всего колонки слетят и нужная информация расплывется по колонкам.
В моем примере поле категорий выглядит вот так
"Кабельно-проводниковая продукция > СКС > Патч панели, боксы, кроссы > Патч-панели с медными вставками"
Тогда придет
"Кабельно-проводниковая продукция > СКС > Патч панели, боксы, кроссы > Патч-панели с медными вставками"

Если в загружаемом файле будут не только категории но и под категории надо проследить что

Как почистить файл от лишнего кода

Опубликовано: Февраль 2, 2018 в 1:30 пп

Категории: Полезности

Удалить весь текст между двумя определенными символами в notepad++ (в данном примере — между двух кавычек)

"([^"]*)"

Удалить ссылку тега a href

a href="([^"]*)"
Примеры: