2017-08-08 90 views
1

我试图通过SugarCRM中的模块加载程序创建关系。但问题是我的包在55%之后停止安装。当我观看显示记录错误是: -sugarCRM:使用模块加载程序创建关系,未安装程序包

无法复制 缓存/升级/温度/ SYWr9G /自定义/元/ accounts_contacts_1MetaData.php 自定义/元/ accounts_contacts_1MetaData.php

我试图更改权限,但在某些时候,他们通过内部服务器错误500.以下是我正在使用的代码。

1.In manifest.php file : 
    $installdefs = array(
     'id' => 'package_20170804', 
     'copy' => array(
      0 => array(
       'from' => '<basepath>/accounts_contacts_1MetaData.php', 
       'to' => 'custom/metadata/accounts_contacts_1MetaData.php', 
       ), 
      1 => array(
       'from' => '<basepath>/accounts_contacts_1.php', 
       'to' => 'custom/Extension/application/Ext/TableDictionary/accounts_contacts_1.php', 
       ), 
      ), 
     'relationships'=>array (
      array (
       'module'=> 'Accounts', 
       'meta_data'=>'<basepath>/custom/metadata/accounts_contacts_1MetaData.php', 
       'module_vardefs'=>'<basepath>/custom/Extension/application/Ext/TableDictionary/accounts_contacts_1.php' 

       ) 
      ), 
     ); 

2. In accounts_contacts_1MetaData.php file : 

    <?php 
    $dictionary["accounts_contacts_1"] = array (
     'true_relationship_type' => 'one-to-many', 
     'from_studio' => true, 
     'relationships' => 
     array (
     'accounts_contacts_1' => 
     array (
      'lhs_module' => 'Accounts', 
      'lhs_table' => 'accounts', 
      'lhs_key' => 'id', 
      'rhs_module' => 'Contacts', 
      'rhs_table' => 'contacts', 
      'rhs_key' => 'id', 
      'relationship_type' => 'many-to-many', 
      'join_table' => 'accounts_contacts_1_c', 
      'join_key_lhs' => 'accounts_contacts_1accounts_ida', 
      'join_key_rhs' => 'accounts_contacts_1contacts_idb', 
     ), 
     ), 
     'table' => 'accounts_contacts_1_c', 
     'fields' => 
     array (
     0 => 
     array (
      'name' => 'id', 
      'type' => 'varchar', 
      'len' => 36, 
     ), 
     1 => 
     array (
      'name' => 'date_modified', 
      'type' => 'datetime', 
     ), 
     2 => 
     array (
      'name' => 'deleted', 
      'type' => 'bool', 
      'len' => '1', 
      'default' => '0', 
      'required' => true, 
     ), 
     3 => 
     array (
      'name' => 'accounts_contacts_1accounts_ida', 
      'type' => 'varchar', 
      'len' => 36, 
     ), 
     4 => 
     array (
      'name' => 'accounts_contacts_1contacts_idb', 
      'type' => 'varchar', 
      'len' => 36, 
     ), 
     ), 
     'indices' => 
     array (
     0 => 
     array (
      'name' => 'accounts_contacts_1spk', 
      'type' => 'primary', 
      'fields' => 
      array (
      0 => 'id', 
      ), 
     ), 
     1 => 
     array (
      'name' => 'accounts_contacts_1_ida1', 
      'type' => 'index', 
      'fields' => 
      array (
      0 => 'accounts_contacts_1accounts_ida', 
      ), 
     ), 
     2 => 
     array (
      'name' => 'accounts_contacts_1_alt', 
      'type' => 'alternate_key', 
      'fields' => 
      array (
      0 => 'accounts_contacts_1contacts_idb', 
      ), 
     ), 
     ), 
    ); 
3. In accounts_contacts_1.php file: 

<?php 
include('custom/metadata/accounts_contacts_1MetaData.php'); 
?> 

我只是想在关系中创建一个领域。也许我在清单文件中的某处丢失了,或者我需要包含一些额外的文件。

+0

您使用的是什么版本的SugarCRM?当您遇到500错误时,您的sugarcrm.log中是否有任何条目? – Reisclef

+0

@Reisclef,谢谢,我正在使用SugarCRM EE 7.6.1的评论。我没有检查糖注销,但我认为它主要是关于权限问题。权限对于通过模块加载器创建定制关系非常重要。 –

+0

@egg,请给我看看上面的代码我知道我误解的地方。所以请帮助我。 –

回答

1

我解决了它。您可以按照以下步骤通过模块加载器在SugarCRM中创建关系。

第1步: - 根据以下
对于Linux提供权限贵糖目录:http://support.sugarcrm.com/Knowledge_Base/Platform_Management/Required_File_System_Permissions_on_Linux/
对于Windows:
http://support.sugarcrm.com/Knowledge_Base/Platform_Management/Required_File_System_Permissions_on_Windows_With_IIS/

第2步: - 在manifest.php

<?php 
$manifest = array(
    'acceptable_sugar_flavors' => array('CE','PRO','CORP','ENT','ULT'), 
    'acceptable_sugar_versions' => array(
     'exact_matches' => array(), 
     'regex_matches' => array('(.*?)\\.(.*?)\\.(.*?)$'), 
     ), 
    'author' => 'Ravi Ranjan', 
    'description' => 'Relationship', 
    'icon' => '', 
    'is_uninstallable' => true, 
    'name' => 'custom relation', 
    'published_date' => '2017-08-10 2017 11:45:04', 
    'type' => 'module', 
    'version' => '20170810', 
    ); 

$installdefs = array(
    'id' => 'package_20170810', 
    'copy' => array(
     0 => array(
      'from' => '<basepath>/accounts_contacts_1MetaData.php', 
      'to' => 'custom/metadata/accounts_contacts_1MetaData.php', 
      ), 

     1 => array(
      'from' => '<basepath>/accounts_contacts_1.php', 
      'to' => 'custom/Extension/application/Ext/TableDictionary/accounts_contacts_1.php', 
      ), 

     ), 

    ); 

?> 

第3步: - 文件accounts_contacts_1MetaData.php和accounts_contacts_1.php的内容与您所看到的相同。

第4步: - 安装快速修复和重建后,压缩所有三个文件并通过模块加载器上载。

进入Studio> Accounts> Relationships您将看到一个新字段,名称为accounts_contacts_1这就是我想要创建的。

相关问题