Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
0 votes
in Q2A Core by
edited by

Favorite button only appears on question pages, tag pages, category pages and user pages. It seems that there is no value nor key for the favorite elements in custom pages.

$this->content['favorite'] = null

Is there a way to insert that "favorite" element into the content array, or how can you enable favorite feature in custom pages?

Example of the favorite element in a tag page:

if (isset($userid) && isset($tagword)) {
    $favoritemap = qa_get_favorite_non_qs_map();
    $favorite = @$favoritemap['tag'][qa_strtolower($tagword['word'])];

    $qa_content['favorite'] = qa_favorite_form(QA_ENTITY_TAG, $tagword['wordid'], $favorite,
        qa_lang_sub($favorite ? 'main/remove_x_favorites' : 'main/add_tag_x_favorites', $tagword['word']));

I tried putting this into https://github.com/q2a/question2answer/blob/1f39ae44adf42c83042be631e39373893a3ec969/qa-include/pages/default.php#L67

$userid = qa_get_logged_in_userid();       
if (isset($userid)){
    $qa_content['favorite'] = qa_favorite_form(QA_ENTITY_NONE, $custompage['pageid'], $favorite, qa_lang($favorite ? 'Unfolow' : 'Follow'));

but I got the error message

Unexpected response from server - please try again or switch off Javascript.

So, there must be some extra steps, I think.

Q2A version: 1.8.4
Need more core hacks with function qa_user_favorite_set :(
I gave up, it needs at least two more core hacks.

Please log in or register to answer this question.