Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: JCck и CCK_Content, полезные мелочи

JCck и CCK_Content, полезные мелочи 7 года 2 нед. назад #1528

  • Keanor
  • Keanor аватар
  • Не в сети
  • Модератор
  • Сообщений: 190
  • Спасибо получено: 49
  • Репутация: 14
JCck


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

Вот всего несколько функций из него которые мне показались наиболее интересными:
<?php
 
// loadjQuery + noConflit + jQueryMore + jQueryDev
public static function loadjQuery( $noconflict = true, $more = true, $dev = false )
 
// loadjQueryUI
public static function loadjQueryUI()
 
// loadModalBox
public static function loadModalBox()
 
// googleAnalytics
public static function googleAnalytics( $url, $account )

По названию несложно догадаться что делают эти функции.

Одна из самых полезных для меня возможностей, так это подключение jQuery на страницах в которых нет seblod. Либо в ТК в которых нету Type Image а modal окошко хочется. Вызываем две функции:
$doc	=	JFactory::getDocument();
	JCck::loadjQuery();
	JCck::loadModalBox();
	$js	= '
		$j(document).ready(function(){
			$j("a[rel=\'colorBox\']").colorbox({
				\'width\': \'550px\'
			});
		});
	';
	$doc->addScriptDeclaration( $js );

В итоге все ссылки с rel="colorBox" у вас будут модальными с шириной 550px.

Надеюсь вы просмотрите этот класс и найдете дополнительные вспомогательные функции для своей работы.

Сам класс располагается тут: ./administrator/components/com_cck/install/core/5.2/core.php


CCK_Content

Есть еще один замечательный класс для работы с ::name::value::/name:: конструкциями, и имя ему CCK_Content.

Вот пример работы пары его функций:
$text = ':cck:439:/cck:'; // двойные двоеточия наш форум "съедает", поэтому тут одинарные
	var_dump(CCK_Content::getValue($text, 'cck'));
выведет:
string(3) "439"

Может работать и с custom полями, для примера я скопировал в переменную значения поля в котором у меня сохранен fieldX Upload Image:
$text = '<br />::hotel_images::4::/hotel_images::<br /><br />::hotel_image|0|hotel_images::images/hotels/206/cfar_maccabia1.jpg::/hotel_image|0|hotel_images::<br />::hotel_image|1|hotel_images::images/hotels/206/cfar_maccabia2.jpg::/hotel_image|1|hotel_images::<br />::hotel_image|2|hotel_images::images/hotels/206/cfar_maccabia3.jpg::/hotel_image|2|hotel_images::<br />::hotel_image|3|hotel_images::images/hotels/206/cfar_maccabia4.jpg::/hotel_image|3|hotel_images::<br />';
	var_dump(CCK_Content::getValues($text));

Вывод будет следующим:
array(5) {
  ["hotel_images"]=>
  string(1) "4"
  ["hotel_image|0|hotel_images"]=>
  string(36) "images/hotels/206/cfar_maccabia1.jpg"
  ["hotel_image|1|hotel_images"]=>
  string(36) "images/hotels/206/cfar_maccabia2.jpg"
  ["hotel_image|2|hotel_images"]=>
  string(36) "images/hotels/206/cfar_maccabia3.jpg"
  ["hotel_image|3|hotel_images"]=>
  string(36) "images/hotels/206/cfar_maccabia4.jpg"
}

Сам файл находится по адресу ./libraries/cck/content/content.php, обязательно в него загляните и возможно найдете что-нибудь еще интересное для себя.
Личные сообщения не читаю! Вообще!
Последнее редактирование: 7 года 2 нед. назад от Keanor.
Администратор запретил публиковать записи гостям.
Спасибо сказали: admin, ComeOn, greenmar, olksendz, ss777

JCck и CCK_Content, полезные мелочи 3 мес. 6 дн. назад #11829

  • stas_rsv
  • stas_rsv аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 72
  • Спасибо получено: 5
  • Репутация: 1
Обнаружил в этом файле
// CCK_Content (deprecated)
Класс будет заменен на какой-то другой? На какой? Если кто знает
Администратор запретил публиковать записи гостям.

roundtheme