當前位置: 首頁>>代碼示例>>PHP>>正文


PHP HighloadBlockTable::getUtmEntityClassName方法代碼示例

本文整理匯總了PHP中Bitrix\Highloadblock\HighloadBlockTable::getUtmEntityClassName方法的典型用法代碼示例。如果您正苦於以下問題:PHP HighloadBlockTable::getUtmEntityClassName方法的具體用法?PHP HighloadBlockTable::getUtmEntityClassName怎麽用?PHP HighloadBlockTable::getUtmEntityClassName使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Bitrix\Highloadblock\HighloadBlockTable的用法示例。


在下文中一共展示了HighloadBlockTable::getUtmEntityClassName方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: onAfterUserTypeAdd

 public static function onAfterUserTypeAdd($field)
 {
     global $APPLICATION, $USER_FIELD_MANAGER;
     if (preg_match('/^HLBLOCK_(\\d+)$/', $field['ENTITY_ID'], $matches)) {
         $field['USER_TYPE'] = $USER_FIELD_MANAGER->getUserType($field['USER_TYPE_ID']);
         // get entity info
         $hlblock_id = $matches[1];
         $hlblock = HighloadBlockTable::getById($hlblock_id)->fetch();
         if (empty($hlblock)) {
             $APPLICATION->throwException(sprintf('Entity "HLBLOCK_%s" wasn\'t found.', $hlblock_id));
             return false;
         }
         // get usertype info
         $sql_column_type = $USER_FIELD_MANAGER->getUtsDBColumnType($field);
         // create field in db
         $connection = Application::getConnection();
         $sqlHelper = $connection->getSqlHelper();
         $connection->query(sprintf('ALTER TABLE %s ADD %s %s', $sqlHelper->quote($hlblock['TABLE_NAME']), $sqlHelper->quote($field['FIELD_NAME']), $sql_column_type));
         if ($field['MULTIPLE'] == 'Y') {
             // create table for this relation
             $hlentity = static::compileEntity($hlblock);
             $utmEntity = Entity\Base::getInstance(HighloadBlockTable::getUtmEntityClassName($hlentity, $field));
             $utmEntity->createDbTable();
             // add indexes
             $connection->query(sprintf('CREATE INDEX %s ON %s (%s)', $sqlHelper->quote('IX_UTM_HL' . $hlblock['ID'] . '_' . $field['ID'] . '_ID'), $sqlHelper->quote($utmEntity->getDBTableName()), $sqlHelper->quote('ID')));
             $connection->query(sprintf('CREATE INDEX %s ON %s (%s)', $sqlHelper->quote('IX_UTM_HL' . $hlblock['ID'] . '_' . $field['ID'] . '_VALUE'), $sqlHelper->quote($utmEntity->getDBTableName()), $sqlHelper->quote('VALUE')));
         }
         return array('PROVIDE_STORAGE' => false);
     }
     return true;
 }
開發者ID:DarneoStudio,項目名稱:bitrix,代碼行數:31,代碼來源:highloadblock.php


注:本文中的Bitrix\Highloadblock\HighloadBlockTable::getUtmEntityClassName方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。