code not working in elgg?

旧巷老猫 提交于 2019-12-08 06:24:32

问题


    $widget = $vars['entity'];                            
    $container = $widget->getContainerEntity();                         
    $options = eligo_get_display_entities_options($widget);

This Is The Main Line Code That Is Not Work In My owner_block.php file. and I don't know how to write that lines code in proper format

elgg.2.2.1\mod\owner_followers_counter\views\default\profile\owner_block.php

this code is not working in file name owner_block.php where I have inserted owner_followers_counter plugin. When I insert this code in my owner_block.php file, it's output is display most liked the post, but there is two line does not work properly, and I don't know how to format that.

where two lines are not working starting at $container = $widget->getContainerEntity();

                 $widget = $vars['entity'];                            
                 $container = $widget->getContainerEntity();    // problem here                     
                 $options =eligo_get_display_entities_options($widget); // and, problem is here

                $options['annotation_names'] = array('likes');

                if (elgg_instanceof($container, 'user') && $widget->my_likes !== 0) {
                  $options['annotation_owner_guids'] = $container->guid;
                }

                if (!elgg_instanceof($container, 'user') && !elgg_instanceof($container, 'group')) {
                  unset($options['container_guids']);
                }


                if ($widget->eligo_sortby == 'mostliked') {
                  $dbprefix = elgg_get_config('dbprefix');
                  $likes_metastring = get_metastring_id('likes');
                  $options['selects'] = array("(SELECT count(distinct l.id) FROM {$dbprefix}annotations l WHERE l.name_id = $likes_metastring AND l.entity_guid = e.guid) AS likes");

                  $options['order_by'] = 'likes ASC';
                  if ($widget->eligo_sortby_dir == 'desc') {
                    $options['order_by'] = 'likes DESC';
                  }
                }

                $content = elgg_list_entities_from_annotations($options);

回答1:


**Ok, I Will Get Answer**

$user = elgg_get_page_owner_entity();
$user_guid = $user->guid;

$options['annotation_names'] = array('likes');
$options['annotation_owner_guids'] = $user_guid;

$dbprefix = elgg_get_config('dbprefix');
$likes_metastring = elgg_get_metastring_id('likes');
$options['selects'] = array("(SELECT count(distinct l.id) FROM {$dbprefix}annotations l WHERE l.name_id = $likes_metastring AND l.entity_guid = e.guid) AS likes");
$options['order_by'] = 'likes DESC';

$content = elgg_list_entities_from_annotations($options);


来源:https://stackoverflow.com/questions/40148014/code-not-working-in-elgg

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!