رفتن به مطلب
رونمایی از اولین و قویترین قالب IPS در ایران و در مارکتهای جهانی ×

[BUG 4.7.17] A widget extending "\IPS\Content\Widget" always adds the tags field


Bot

پست های پیشنهاد شده

  • تیم مدیریت

I have a widget that extends the \IPS\Content\Widget class, and while my Content Item class doesn't implement/support tags, the widget option is still showing the field.

 

The issue is this code in /system/Content/Widget.php on lines 224-242:

		/* Tags */
		if( \IPS\Settings::i()->tags_enabled )
		{
			if ( \IPS\Settings::i()->tags_force_lower )
			{
				$options['autocomplete']['forceLower'] = TRUE;
			}

			if ( \IPS\Settings::i()->tags_clean )
			{
				$options['autocomplete']['filterProfanity'] = TRUE;
			}

			$options['autocomplete']['prefix'] = FALSE;
			$options['autocomplete']['minimized'] = FALSE;

			$return['tags'] = new \IPS\Helpers\Form\Text( 'widget_feed_tags', ( isset( $this->configuration['widget_feed_tags'] ) ? $this->configuration['widget_feed_tags'] : array( 'tags' => NULL ) ), FALSE, $options );

		}

 

For tags, the only check done is if the tags system is enabled. Other fields instead check properly also if the class implements the proper interface. This is the check for hiding content for example:

if ( \in_array( 'IPS\Content\Hideable', class_implements( $class ) ) )

 

Before adding the field, the code must also check if the \IPS\Content\Tags class is implemented.

View the full Question

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • تعداد پاسخ 0
  • زمان ایجاد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

روزهای محبوب

بهترین ارسال کنندگان این موضوع

روزهای محبوب

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • ایجاد مورد جدید...

اطلاعات مهم

برای تجربه رابط کاربری بهتر و تعامل بهتر شما با انجمن ما از کوکی ها استفاده میکنیم قوانین